我Apache POI API用来生成excel spreadsheet输出一些数据.
我面临的问题是,在创建和打开电子表格时,不会扩展列,以便乍一看不会出现像Date格式化文本这样的长文本.
我可以双击excel中的列边框来展开或拖动边框来调整列宽,但可能有20多列,每次打开电子表格时我都无法手动执行此操作:(
我发现了(虽然可能是错误的方法)groupRow()并且setColumnGroupCollapsed()可能能够做到这一点,但没有运气.也许我错误地使用它.
示例代码段
Workbook wb = new HSSFWorkbook();
CreationHelper createHelper = wb.getCreationHelper();
//create sheet
Sheet sheet = wb.createSheet("masatoSheet");
//not really working yet.... :(
//set group for expand/collapse
//sheet.groupRow(0, 10); //just random fromRow toRow argument values...
//sheet.setColumnGroupCollapsed(0, true);
//create row
Row row = sheet.createRow((short)0);
//put a cell in the row and store long text data
row.createCell(0).setCellValue("Loooooooong text not to show up first");
Run Code Online (Sandbox Code Playgroud)
创建此电子表格时,"Looooooong text not to first up …
我尝试使用Apache poi最新创建一个包含30列和100万条记录的大型excel 2010.我正在创建此链接中的描述http://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/usermodel/examples/BigGridDemo.java .但我希望列宽与列标题文本大小相同.但是在使用以下代码创建excel之后我正在执行此操作
for (int x = 0; x < sheet.getRow(0).getPhysicalNumberOfCells(); x++) {
sheet.setColumnWidth(x, 20*256);
}
Run Code Online (Sandbox Code Playgroud)
它占用了大量的时间,即使有5GB的堆大小,我也会失去记忆.
谢谢
内存