Ram*_*tal 12 java big-o out-of-memory apache-poi
我尝试使用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的堆大小,我也会失去记忆.
谢谢
内存
San*_*ngh 31
首先选择第一行或标题,因为只有Header可以为您提供一行中的最大单元格数.
HSSFRow row = wb.getSheetAt(0).getRow(0);
Run Code Online (Sandbox Code Playgroud)
然后autoSizeColumn在该行的每一列上使用
for(int colNum = 0; colNum<row.getLastCellNum();colNum++)
wb.getSheetAt(0).autoSizeColumn(colNum);
Run Code Online (Sandbox Code Playgroud)
这将设置列宽与其标题宽度相同.
| 归档时间: |
|
| 查看次数: |
48854 次 |
| 最近记录: |