Apache POI - 我可以以某种方式加快excel列的大小调整吗?

时间:2013-12-06 11:17:00

标签: apache-poi

public void resizeColumns(SXSSFSheet worksheet, SXSSFRow row) {
    for (int i = baseDoc.length(); i < row.getLastCellNum(); i++) {
        worksheet.setColumnWidth(i, 256);
    }
}

所以,这是设置列宽的非常简单的方法。问题是我有大约5000列。调整前700-1000列的大小只需几秒钟。但是这次迭代变得非常缓慢。例如,通常我必须生成大约3000列的Excel,我需要调整它们的大小。调整大小需要2-3分钟。没有调整大小就会在几秒钟内生成xlsx!

我已经尝试为工作表设置默认宽度:worksheet.setDefaultColumnWidth()然后简单调整大小仅休息(大约10列)。这真的很快 - 但这对我来说不是一个好的解决方案,因为setDefaultColumnWidth()接受int作为参数(它意味着字符数),我必须有一个小于一个字符的列宽。

0 个答案:

没有答案