我正在尝试实现从 .xls 文件读取。我有以下代码:
FileInputStream file = null;
Workbook workbook = null;
try {
file = new FileInputStream(System.getProperty("user.home") + "/Downloads/" + fileName);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
if (fileName.endsWith(".xls")) {
try {
**workbook = new HSSFWorkbook(file);**
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
此标记的代码行崩溃。
我在pom.xml中导入:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
但我收到错误: Caused by: java.lang.ClassNotFoundException: org.apache.commons.io.output.UnsynchronizedByteArrayOutputStream
我将不胜感激对此的帮助。谢谢。
小智 11
这对我有用
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>5.2.2</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.2</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
小智 7
我最近将 Apache POI 升级到 5.2.3,并且遇到了相同的 ClassNotFoundException。由于应用程序在升级之前运行良好,所以我很快做了三件事来调试:
当我将最新的可用 Apache Commons IO 2.11.0 添加到我的 maven pom.xml 并重建应用程序后,问题就解决了。我希望这有帮助!
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.11.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
添加
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>1.4</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
给你pom