我已使用终端
中的以下命令将 .xls 文件转换为 .odsCOMMAND : soffice --headless --convert-to ods abcd.xls
转换后,我无法使用 jOpenDocument1.3.jar 的 SpreadSheet API 阅读 fileName.ods 。当我尝试读取.ods文件时,它将抛出 NullPointer异常。
我在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
任何帮助将不胜感激。