Java Jxls错误:无法加载XLS变压器。请确保Transformer实现位于类路径中

Java Jxls错误:无法加载XLS变压器。请确保Transformer实现位于类路径中,java,excel,jxl,jxls,Java,Excel,Jxl,Jxls,这个问题已经问过一次了,但没有人给出一个绝对的解决方案。 我试图生成一个xls文件从现有的模板,但我得到了一个错误,我不知道如何面对 我的代码: 字符串nombre=“Manuel” 非常感谢 请确保类路径中有jxls poi和Apache poi JAR(如果您计划使用Apache poi)好的,如果您使用maven,在maven构建时,maven可能会破坏excel文件 JXLS报告的异常可能是不明确的,它实际上创建了一个excel文件异常 您可以这样做: <resources>

这个问题已经问过一次了,但没有人给出一个绝对的解决方案。 我试图生成一个xls文件从现有的模板,但我得到了一个错误,我不知道如何面对

我的代码: 字符串nombre=“Manuel”


非常感谢

请确保类路径中有jxls poi和Apache poi JAR(如果您计划使用Apache poi)

好的,如果您使用maven,在maven构建时,maven可能会破坏excel文件

JXLS报告的异常可能是不明确的,它实际上创建了一个excel文件异常

您可以这样做:

<resources>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>true</filtering>
            <excludes>
                <exclude>template/*.*</exclude>
            </excludes>
        </resource>
        <resource>
            <directory>src/main/resources/</directory>
            <filtering>false</filtering>
            <includes>
                <include>template/*.*</include>
            </includes>
        </resource>
 </resources>

src/main/resources/
真的
模板/**
src/main/resources/
假的
模板/**

在使用maven配置文件和资源筛选时,我也遇到了同样的问题。通过关闭jxls excel模板的资源筛选,修复了此问题

  <resource>
    <directory>src/main/resources/</directory>
    <filtering>false</filtering>
    <includes>
      <include>**/*.xlsx</include>
    </includes>
  </resource> 

src/main/resources/
假的
**/*.xlsx

确保
jxls
jxls poi
在您的maven pom中, 还要检查模板文件是否在类路径中

我遇到了这个问题,我的代码如下:

InputStream is = JxlsTest.class.getResourceAsStream("/template.xlsx");

我的问题是我错误地键入了
/template.xlsx
作为
/template.xls
,jxls找不到模板xls文件,因此引发了此错误。

在我的情况下,我的类路径中有不兼容的apache poi版本
jxlspoi:1.0.15
使用
poi:3.17
,而我使用
poi:3.9


将poi更改为3.17解决了我的问题。

奇怪的是,在整个互联网上,这个问题仍然没有答案。首先,您只需要将
ExportExcelServlet.class.getResourceAsStream
替换为
FileInputStream

是的,我已经安装了所有需要的文件,您认为这可能与模板文件位置有关吗?不,我认为这与模板位置无关。您还可以发布完整的错误堆栈跟踪吗?已解决。这与maven Dependences的安装有关,我添加了一些额外的依赖项,使其过度压缩。无论如何,谢谢。我不是OP,但答案提供了正确的提示:我需要安装ApachePOI(事实上很明显)。谢谢
  <resource>
    <directory>src/main/resources/</directory>
    <filtering>false</filtering>
    <includes>
      <include>**/*.xlsx</include>
    </includes>
  </resource> 
InputStream is = JxlsTest.class.getResourceAsStream("/template.xlsx");