Poi的行数错误

时间:2014-10-01 08:22:15

标签: java excel apache-poi

我正在使用apache poi,现在我遇到了以下麻烦。我以这种方式在我的项目中包括apache poi:

<dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.7</version>
</dependency>

现在我的问题是我无法获得正确的行数,例如我有两个文件(源文件 UploadFile )。 uploadFile在Source文件中全部选中,并将所有内容粘贴到uploadFile中。在这种情况下,以下代码段打印 65535

XSSFSheet firstSheet =  (XSSFSheet) wbUploaded.getSheetAt((short)0); //Foglio Luce
 System.out.println(firstSheet .getLastRowNum());

//Read the sheet
for(Row row : sheetLuce){
        //Do something
}

此外,如果我的文件如下:

enter image description here

我明白问题取决于制作文件的方式,为什么如果我改为选择,复制并粘贴所有,我选择(在源文件上)只填充行并将其复制到上传文件中行打印正确。现在我想问你poi管理行数?

2 个答案:

答案 0 :(得分:0)

API与您使用的不同。你可以尝试下面问题中的答案来获得最后一行。

Finding the last row in an Excel spreadsheet

答案 1 :(得分:0)

默认情况下,Excel工作表包含65535行。和你一样。所以这种方法的结果是正确的。不清楚为什么你想要这个数字,但如果你想停止循环,你可以在遇到一个空的行时停止for循环。