我正在尝试使用SXSSF读取xls文件。我已经阅读了有关SXSSF的内容,但并未明确说明如何使用它。所以我遇到了一些问题。
任何人都可以帮我读取大型xls文件(大约100,000行和7-8张)的java代码。
(从评论中编辑)
以下是我的尝试:
Workbook workBook = new SXSSFWorkbook(200);
workBook = WorkbookFactory.create(inputStream);
Sheet sheet = workBook.getSheetAt(0);
int totalRows = sheet.getPhysicalNumberOfRows();
for (int i=0; i<totalRows; i++) {
Row row = sheet.getRow(i);
int totalCols = row.getPhysicalNumberOfCells();
for(int j=0; j<totalCols; j++) {
Cell cell = row.getCell(j);
}
}
答案 0 :(得分:10)
SXSSF只能编写大型excel文件(xlsx)而不能读取。
要读取大型Excel文件,请参阅Apache POI的基于SAX解析的事件处理API: https://poi.apache.org/components/spreadsheet/how-to.html
一个非常好的工作示例出现在: https://svn.apache.org/repos/asf/poi/trunk/src/examples/src/org/apache/poi/xssf/eventusermodel/XLSX2CSV.java
答案 1 :(得分:0)
SXSSF(自3.8-beta3起)–是XSSF的API兼容流扩展,可用于必须制作非常大的电子表格
如您所见,当要生成大型电子表格时,明确指定使用SXSSF。您可以使用 XSSF 。这很相似,也足够好。