Jxls错误:无法加载XLS转换器。 请确保Transformer实现在类path中

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

我的代码:String nombre =“Manuel”;

try (InputStream templateFileName = ExportExcelServlet.class.getResourceAsStream("/segJBOSS/lib/xls/Tabla_Gestion.xlsx")) { try (OutputStream destFileName = new FileOutputStream("Tabla_Gestion.xls")) { ArrayList<String> array = new ArrayList<String>(); array.add(nombre); Context context = new Context(); context.putVar("gestion", array); JxlsHelper.getInstance().processTemplate(templateFileName, destFileName, context); } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); e.printStackTrace(); } } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); e.printStackTrace(); } } catch (Exception e) { // TODO: handle exception System.out.println(e.getMessage()); e.printStackTrace(); } 

这正在实施到一个WebServlet。

 17:08:43,472 ERROR [org.jxls.util.TransformerFactory] (default task-3) Method createTransformer of org.jxls.transform.poi.PoiTransformer class thrown an Exception: java.lang.reflect.InvocationTargetException Caused by: java.lang.NullPointerException 17:08:43,478 INFO [stdout] (default task-3) Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath 17:08:43,479 ERROR [stderr] (default task-3) java.lang.IllegalStateException: Cannot load XLS transformer. Please make sure a Transformer implementation is in classpath 

非常感谢!

请确保在类path中有jxls-poi和Apache POI jar(如果您打算使用Apache POI)

使用mavenconfiguration文件和资源过滤时,我也遇到了同样的问题。 它通过closures资源过滤到您的jxls excel模板被修复。

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

好吧,如果你使用maven,当maven build时,maven可能会打破excel文件。

JXLS报告的exception可能不明确,实际上是创build了一个excel文件exception。

你可以这样做:

 <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>