Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java org/apache/poi/openxml4j/exceptions/InvalidFormatException使用JXLS_Java_Excel_Jxls - Fatal编程技术网

Java org/apache/poi/openxml4j/exceptions/InvalidFormatException使用JXLS

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

我正在使用JXLS Java库生成excel报告。我正在尝试运行示例教程(对象集合输出演示)。正如教程中所建议的,我正在使用maven在我的项目构建配置文件中指定所需的库。下面是使用的java代码

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>