Apache POI使用SXSSF生成大型xlsx文件

时间:2017-07-14 16:14:45

标签: java apache apache-poi xlsx

我正在尝试使用Apache POI生成关于xslx格式的大型报告。我正在使用XSSF生成正确的xslx文件,但突然出现了内存错误。

为了避免内存不足,我试图像这样更改为SXSSF。

// Create results Sheet
SXSSFWorkbook workBook = new SXSSFWorkbook();
XSSFSheet xssfSheet = (XSSFSheet) workbook.createSheet(name);
PrintSetup printSetup = xssfSheet.getPrintSetup();
printSetup.setLandscape(true);
xssfSheet.setFitToPage(true);
xssfSheet.setHorizontallyCenter(true);

但我收到了这个错误

10:56:46,023 ERROR [stderr] (default task-47) java.lang.ClassCastException: org.apache.poi.xssf.streaming.SXSSFSheet cannot be cast to org.apache.poi.xssf.usermodel.XSSFSheet

我的问题是没有办法到workbook.createSheet(name)返回一个XSSFSheet实例来完成我的工作。

有一种方法可以将SXSSF转换为XSSF ??

0 个答案:

没有答案