gpt4 book ai didi

java - 无法使用 Apache POI 读取 Excel

转载 作者:行者123 更新时间:2023-12-01 17:36:08 32 4
gpt4 key购买 nike

我正在使用 Apache POI 读取 Excel,但它不断给出 XSSFWorkbook 类定义发现错误的错误。我使用了不同版本的 Apache-poi jar 库(即 4.1 、 4.0 和 3.12 ),但它们似乎都没有修复此错误。这是当前导入的库的屏幕截图 enter image description here代码里面出了什么问题?

try {   
File fileSrc = new File("C://Eclipse-Workspace//TestData//TestDataSet.xlsx");
FileInputStream fis = new FileInputStream(fileSrc);
XSSFWorkbook workbook = new XSSFWorkbook(fis);
XSSFSheet sheet = workbook.getSheetAt(0);
XSSFCell cellData = sheet.getRow(rowNo).getCell(colNo);
workbook.close();
return cellData.toString();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return null;
}

显示错误:

 java.lang.NoClassDefFoundError: 
org/apache/poi/ss/usermodel/WorkbookFactory
at Utilities.DataAccessorExcel.excelReader(DataAccessorExcel.java:33)
at TestCases.LoginTest.verifyLogin(LoginTest.java:66)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
atjava.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMe
thodAccessorImpl.java:62)
atjava.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Dele
gatingMethodAccessorImpl.java:43)at
java.base/java.lang.reflect.Method.invoke(Method.java:567)

最佳答案

您必须包含 poi jar 文件。它的版本将是4.1.0。如果您使用 Maven pom.xml,请包含以下依赖项。

<!-- https://mvnrepository.com/artifact/org.apache.poi/poi-ooxml -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.0</version>
</dependency>

如果您不使用 Maven,请从以下位置下载 jar 文件。

http://central.maven.org/maven2/org/apache/poi/poi/4.1.0/poi-4.1.0.jar

http://central.maven.org/maven2/org/apache/poi/poi-ooxml/4.1.0/poi-ooxml-4.1.0.jar

要使用 Apache POI 读取 excel 文件,如果您不想使用 Maven,则需要以下 jar 文件。

  1. poi-ooxml-4.1.0.jar
  2. poi-ooxml-schemas-4.1.0.jar
  3. xmlbeans-3.1.0.jar
  4. commons-compress-1.18.jar
  5. curvesapi-1.06.jar
  6. poi-4.1.0.jar
  7. commons-codec-1.12.jar
  8. commons-collections4-4.3.jar
  9. commons-math3-3.6.1.jar

我在下面提供了有关如何使用的简短代码片段。

FileInputStream file =
new FileInputStream(
new File(
"testdata\\TestData_01.xlsx"));
XSSFWorkbook workbook = new XSSFWorkbook(file);
XSSFSheet sheet = workbook.getSheetAt(0);
Iterator<Row> rowIterator = sheet.iterator();

while (rowIterator.hasNext()) {
Row row = rowIterator.next();
Cell cell0 = row.getCell(0);
if (cell0 != null) {
System.out.println("First Column Data : "+cell0.getStringCellValue());
}
Cell cell1 = row.getCell(1);
if (cell1 != null) System.out.println("Second Column Data : "+cell1.getStringCellValue());


}

关于java - 无法使用 Apache POI 读取 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56247620/

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