为什么我使用JAVA将Excel工作表中的行数设为0?

时间:2014-04-10 19:36:33

标签: java excel apache-poi

我正在尝试将一些数据写入格式为(.xlsx)的Excel文件中。但问题是它的第一行是正确写入文件的,当我试图检索行数然后增加行以便我可以在文件中写入更多行时,我得到一个例外& #34;格式异常无效"有时候我的代码会被执行,但我的行数是1.请解决我的问题,我甚至附上正在使用的代码。

public static int getRows(String memail,String testid) throws FileNotFoundException,IOException, InvalidFormatException{
            int rc;         

            FileInputStream file = new FileInputStream(new File("email1.xlsx"));

                XSSFWorkbook wb = new XSSFWorkbook (file);
                WorkbookFactory.create(file);

                XSSFSheet sheet = wb.getSheet(testid);

                rc = sheet.getLastRowNum();

               return rc;

       }

2 个答案:

答案 0 :(得分:1)

删除以下行

   WorkbookFactory.create(file);

再试一次。

如果您已经创建了一个文件,那么当您再次创建该文件时......

答案 1 :(得分:0)

您可以尝试Sheet.getPhysicalNumberOfRows(),这将返回物理定义的行数(不是表格中的行数)。
还有一点,您确定从{获得正确的表格{1}}?