Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用POI SXSSF读取大型电子表格_Java_File_Xls - Fatal编程技术网

Java 如何使用POI SXSSF读取大型电子表格

Java 如何使用POI SXSSF读取大型电子表格,java,file,xls,Java,File,Xls,我正在尝试使用SXSSF读取xls文件。我读过关于SXSSF的书,但不清楚如何使用它。所以我遇到了一些问题 有谁能帮助我阅读大型xls文件(大约100000行和7-8页)的java代码吗 (从评论中编辑) 以下是我尝试过的: Workbook workBook = new SXSSFWorkbook(200); workBook = WorkbookFactory.create(inputStream); Sheet sheet = workBook.getSheetAt(0); int

我正在尝试使用SXSSF读取xls文件。我读过关于SXSSF的书,但不清楚如何使用它。所以我遇到了一些问题

有谁能帮助我阅读大型xls文件(大约100000行和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); 
    } 
 } 

工作簿=新的SXSSFWorkbook(200);
工作簿=WorkbookFactory.create(inputStream);
工作表=工作簿。getSheetAt(0);
int totalRows=sheet.getPhysicalNumberOfRows();

对于(inti=0;iSXSSF),它只用于编写大型excel文件(xlsx),而不用于读取

要读取大型excel文件,请参阅Apache POI基于SAX解析的事件处理API,网址为:

以下是一个非常好的工作示例:

SXSSF(自3.8-beta3起)–是XSSF的API兼容流媒体扩展,在必须生成非常大的电子表格时使用


正如您所看到的,SXSSF在制作大型电子表格时被明确指定使用。您可以使用XSSF。它很相似,也很好。

或者仅仅是举个例子?我尝试过这样的方法…..工作簿工作簿=新的SXSSFWorkbook(200);工作簿=WorkbookFactory.create(inputStream);Sheet Sheet=workBook.getSheetAt(0);int totalRows=Sheet.getPhysicalNumberOfRows();for(int i=0;我首先运行您正在使用的API示例,然后尝试简单的场景,然后才尝试您的案例,因此当问题出现时,您知道在哪里查找。SXSSF是只写的。请检查此示例[上期][1][1]: