情况就是这样:我必须使用SXSSFWorkbook(XSSFWorkbook的流式版)来创建我的Excel,因为我必须创建一个包含大约20列的700000/800000行的工作表 . This sheet represents the source table for my final Pivot.
SXSSFWorkbook workbook();
XSSFSheet pivotSheet = workbook.getXSSFWorkbook().createSheet("Pivot sheet");
AreaReference ar = ....:
CellReference cr = ....;
XSSFPivotTable pivotTable = pivotSheet.createPivotTable(ar, cr); // ERROR!!
问题是,当我尝试在该源上创建此Pivot时, XSSFPivotTable.createPivotTable 方法不起作用,尽管AreaReference和CellReference参数都可以 .
如果我使用XSSFWorkbook(不是流版本),行数较少,一切都还可以,但我没达到目标!
有人可以给我一个解决方案吗? Thank you very much!!!!!
斯特凡诺
1 回答
SXSSFWorkbook可以从
XSSFWorkbook
创建 .所以我要做的是创建
XSSFWorkbook
,其中XSSFSheet
至少包含数据的 Headers ,另一个XSSFSheet
用于数据透视表 . 然后在此XSSFSheet
上创建XSSFPivotTable
,但对数据表的引用足够大以供以后的数据使用 .然后我将从
XSSFWorkbook
创建SXSSFWorkbook
,将数据表作为SXSSFSheet
,然后将大量数据流式传输到数据表中 .完整的例子: