gpt4 book ai didi

java - Apache poi HSSF 返回不正确的物理行数

转载 作者:行者123 更新时间:2023-12-04 21:03:32 28 4
gpt4 key购买 nike

我正在处理用户给定的 Excel 文件 (.xls) 并使用 Apache poi HSSF 来读取工作表。 Excel 实际包含 16 行。

  • 第 13 行是空的。
  • 第 14 行有数据
  • 第 15 行为空
  • 第 16 行有数据

  • 在这种情况下, worksheet.getPhysicalRows()返回 13。
    而, worksheet.getLastRowNum()返回 16。

    如果我删除了第 13 行,请注意 getPhysicalRows()返回 14。
    如果我也删除了第 16 行, getPhysicalRows()仍然返回 14。

    根本不读取具有有效数据的最后一行。

    您是否在使用 XLS 时遇到过这种行为?

    编辑:我不确定这段代码是否可以帮助解决这个问题。
     excelDocumentStream = new FileInputStream(new File(xlFilePath));
    POIFSFileSystem fsPOI = new POIFSFileSystem(new BufferedInputStream(excelDocumentStream));
    workbook = new HSSFWorkbook(fsPOI);
    int numOfRows = workSheet.getPhysicalNumberOfRows();
    int lastRow = workSheet.getLastRowNum();

    最佳答案

    像这样做

    int rows = 0;
    if(sheet.getPhysicalNumberOfRows()>0)
    rows=sheet.getLastRowNum() - sheet.getFirstRowNum()+1;

    希望这可以帮助!!!

    关于java - Apache poi HSSF 返回不正确的物理行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906884/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com