Java org/apache/poi/openxml4j/exceptions/InvalidFormatException使用JXLS
我正在使用JXLS Java库生成excel报告。我正在尝试运行示例教程(对象集合输出演示)。正如教程中所建议的,我正在使用maven在我的项目构建配置文件中指定所需的库。下面是使用的java代码Java org/apache/poi/openxml4j/exceptions/InvalidFormatException使用JXLS,java,excel,jxls,Java,Excel,Jxls,我正在使用JXLS Java库生成excel报告。我正在尝试运行示例教程(对象集合输出演示)。正如教程中所建议的,我正在使用maven在我的项目构建配置文件中指定所需的库。下面是使用的java代码 List<Employee> employees = generateSampleEmployeeData(); try(InputStream is = ObjectCollectionDemo.class.getResourceAsStream("object_collecti
List<Employee> employees = generateSampleEmployeeData();
try(InputStream is = ObjectCollectionDemo.class.getResourceAsStream("object_collection_template1.xls")) {
try(OutputStream os = new FileOutputStream("target/" + fileName)) {
Context context = new Context();
context.putVar("employees", employees);
JxlsHelper.getInstance().processTemplate(is, os, context);
}
}
下面是maven依赖项的快照
Java版本:1.8
环境:Windows 7
IDE:EclipseNeon在您的问题中没有看到太多代码方面的内容,因此我将在这里留白。看起来您的文件
object\u collection\u template1的版本不匹配。使用不同于JXLS的Excel版本创建的xls
至少在编写时是兼容的。看起来您对Apache POI处理所需的某些XML依赖项有问题
我可以在依赖项屏幕截图中看到它们,但由于某些原因,它们在运行程序时不起作用。这些依赖项之间可能存在一些冲突
尝试通过只添加以下两个依赖项来创建一个最小的jxls项目,看看它是否有效
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-poi</artifactId>
<version>1.0.12</version>
</dependency>
org.jxls
jxls
2.4.0
org.jxls
jxls poi
1.0.12
然后你可以一个接一个地添加你自己的依赖项,看看它在哪一点中断。我删除了我的maven存储库,并创建了一个最小的jxls项目。它现在运行良好。你能为不使用Maven的人提供一些见解吗?我使用的是气隙系统,必须使用罐子
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls</artifactId>
<version>2.4.0</version>
</dependency>
<dependency>
<groupId>org.jxls</groupId>
<artifactId>jxls-poi</artifactId>
<version>1.0.12</version>
</dependency>