我已通过在终端中使用以下命令将.xls文件转换为.ods
COMMAND : soffice --headless --convert-to ods abcd.xls
转换后,我无法使用jOpenDocument1.3.jar的SpreadSheet API 读取fileName.ods。当我尝试读取 .ods 文件时,它会抛出NullPointer Exception。
我在 Ubuntu 平台上工作,如果我使用LibreOffice将.xls文件转换为.ods ,那么它工作正常,但如果我使用soffice终端将它转换,那么它会抛出异常!
有没有办法使用命令行转换文件,以便 Java 代码能够正确读取它。
我正在使用下面的代码来读取转换后的fileName.ods文件。
File file = new File(path);
String sheetName = "SheetName"; // spread Sheet Name
Sheet sheet = SpreadSheet.createFromFile(file).getSheet(sheetName);
“ createFromFile ” 给出 NullPointer 异常
ava.lang.NullPointerException
at org.jopendocument.dom.ODPackage.getODDocument(Unknown Source)
at org.jopendocument.dom.ODPackage.getSpreadSheet(Unknown Source)
at org.jopendocument.dom.spreadsheet.SpreadSheet.createFromFile(Unknown Source)
at com.thales.dbtool.controller.DBManageController.getUiParamsFromExcel(DBManageController.java:1316)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandl
任何帮助将不胜感激。