gpt4 book ai didi

java - 从 Apache poi java 读取 Excel

转载 作者:行者123 更新时间:2023-12-01 19:53:16 25 4
gpt4 key购买 nike

我在读取 Excel 文件时遇到了一个奇怪的问题,我创建了一个文件来测试,但仍然遇到同样的问题,工作簿返回有 0 个工作表,但它确实有 3 个工作表:这是我的代码:

FileInputStream fs = new FileInputStream(new File("C:/Users/TO124415/Desktop/test.xlsx"));

HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet hs = wb.getSheetAt(0);
int number = wb.getNumberOfSheets();
System.out.println(number);
FormulaEvaluator form = wb.getCreationHelper().createFormulaEvaluator();
HSSFCell value = wb.getSheetAt(0).getRow(14).getCell(1);
for (Row rw : hs){
for(Cell cell : rw){
switch(form.evaluateInCell(cell).getCellType()){
case Cell.CELL_TYPE_NUMERIC:
System.out.println(cell.getNumericCellValue());
case Cell.CELL_TYPE_STRING:
System.out.println(cell.getStringCellValue());
}
}
}

我遇到了这个错误:

Exception in thread "main" java.lang.IllegalArgumentException: Sheet index (0) is out of range (no sheets)

如果我设置了 getSheetAt(3),则一定会出现此错误,因为我知道索引是从 0 而不是 1 开始的。有人可以解释一下吗?

最佳答案

看起来,您对不受支持的类使用了错误的文件类型。

HSSFWorkbook 类仅支持 .xls 文件类型,而 XSSFWorkbook 类将同时支持 .xls 和 .xlsx 文件类型

请执行以下任一步骤

  1. 将文件扩展名更改为 .xls(.xlsx 文件仅支持XSSF 不在 HSSF 中。)
  2. 通过保留 xlsx 文件扩展名将 HSSF 更改为 XSSF

关于java - 从 Apache poi java 读取 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50527342/

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