This question has been already asked once but no one gave a absolute solution to it. Im trying to generate a xls file from a existing template but im getting an error which I dont know how to face out!
My code: 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();
}
This is being implemented into a 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
Thanks alot!
Please make sure that you have jxls-poi and Apache POI jars in the classpath (if you plan to use Apache POI)
In my case, I have incompatible apache poi versions in my classpath. jxls-poi:1.0.15
uses poi:3.17
, while I have poi:3.9
.
Changing poi to 3.17 fixed my issue.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With