soffice转换.ods文件,无法使用jOpenDocument API

时间:2017-05-11 08:59:55

标签: java xls ods jopendocument

我已使用终端

中的以下命令将 .xls 文件转换为 .ods
COMMAND : 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

任何帮助将不胜感激。

0 个答案:

没有答案