问题
I am trying to read xlsx file in android. yet everytime I get another error when using apache-poi 4.0.1 . Code:
OPCPackage pkg = OPCPackage.open(new File(filePath));
Workbook excelWorkBook = new XSSFWorkbook(pkg);
Error:
2019-07-09 08:21:47.227 24171-24171/com.example.myapplication E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.myapplication, PID: 24171 org.apache.poi.ooxml.POIXMLException: http://xml.org/sax/properties/declaration-handler at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:66) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:282) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:88) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:116) at java.lang.reflect.Method.invoke(Native Method) at org.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:339) at org.apache.poi.ss.usermodel.WorkbookFactory.createXSSFWorkbook(WorkbookFactory.java:314) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:302) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:271) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252) at com.example.myapplication.DatabaseActivity.createJSONAndTextFileFromExcel(DatabaseActivity.java:128) at com.example.myapplication.DatabaseActivity.lambda$onCreate$2$DatabaseActivity(DatabaseActivity.java:87) at com.example.myapplication.-$$Lambda$DatabaseActivity$nBBLphg3l29m_zMvU09AJR1LYws.onClick(Unknown Source:2) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: java.lang.reflect.InvocationTargetException at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:282) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:88) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:116) at java.lang.reflect.Method.invoke(Native Method) at org.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:339) at org.apache.poi.ss.usermodel.WorkbookFactory.createXSSFWorkbook(WorkbookFactory.java:314) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:302) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:271) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252) at com.example.myapplication.DatabaseActivity.createJSONAndTextFileFromExcel(DatabaseActivity.java:128) at com.example.myapplication.DatabaseActivity.lambda$onCreate$2$DatabaseActivity(DatabaseActivity.java:87) at com.example.myapplication.-$$Lambda$DatabaseActivity$nBBLphg3l29m_zMvU09AJR1LYws.onClick(Unknown Source:2) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: java.lang.RuntimeException: http://xml.org/sax/properties/declaration-handler at org.apache.xmlbeans.impl.store.Locale$SaxLoader.(Locale.java:3397) at org.apache.xmlbeans.impl.store.Locale$XmlReaderSaxLoader.(Locale.java:3087) at org.apache.xmlbeans.impl.store.Locale.getSaxLoader(Locale.java:3072) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1272) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1259) at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source:6) at org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:86) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:282) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:88) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:116) at java.lang.reflect.Method.invoke(Native Method) at org.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:339) at org.apache.poi.ss.usermodel.WorkbookFactory.createXSSFWorkbook(WorkbookFactory.java:314) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:302) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:271) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252) at com.example.myapplication.DatabaseActivity.createJSONAndTextFileFromExcel(DatabaseActivity.java:128) at com.example.myapplication.DatabaseActivity.lambda$onCreate$2$DatabaseActivity(DatabaseActivity.java:87) at com.example.myapplication.-$$Lambda$DatabaseActivity$nBBLphg3l29m_zMvU09AJR1LYws.onClick(Unknown Source:2) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767) Caused by: org.xml.sax.SAXNotRecognizedException: http://xml.org/sax/properties/declaration-handler at org.apache.harmony.xml.ExpatReader.setProperty(ExpatReader.java:162) at org.apache.xmlbeans.impl.store.Locale$SaxLoader.(Locale.java:3391) at org.apache.xmlbeans.impl.store.Locale$XmlReaderSaxLoader.(Locale.java:3087) at org.apache.xmlbeans.impl.store.Locale.getSaxLoader(Locale.java:3072) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1272) at org.apache.xmlbeans.impl.store.Locale.parseToXmlObject(Locale.java:1259) at org.apache.xmlbeans.impl.schema.SchemaTypeLoaderBase.parse(SchemaTypeLoaderBase.java:345) at org.openxmlformats.schemas.drawingml.x2006.main.ThemeDocument$Factory.parse(Unknown Source:6) at org.apache.poi.xssf.model.ThemesTable.(ThemesTable.java:86) at java.lang.reflect.Constructor.newInstance0(Native Method) at java.lang.reflect.Constructor.newInstance(Constructor.java:334) at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:56) at org.apache.poi.ooxml.POIXMLFactory.createDocumentPart(POIXMLFactory.java:63) at org.apache.poi.ooxml.POIXMLDocumentPart.read(POIXMLDocumentPart.java:657) at org.apache.poi.ooxml.POIXMLDocument.load(POIXMLDocument.java:180) at org.apache.poi.xssf.usermodel.XSSFWorkbook.(XSSFWorkbook.java:282) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:88) at org.apache.poi.xssf.usermodel.XSSFWorkbookFactory.createWorkbook(XSSFWorkbookFactory.java:116) at java.lang.reflect.Method.invoke(Native Method) at org.apache.poi.ss.usermodel.WorkbookFactory.createWorkbook(WorkbookFactory.java:339) at org.apache.poi.ss.usermodel.WorkbookFactory.createXSSFWorkbook(WorkbookFactory.java:314) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:302) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:271) at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:252) at com.example.myapplication.DatabaseActivity.createJSONAndTextFileFromExcel(DatabaseActivity.java:128) at com.example.myapplication.DatabaseActivity.lambda$onCreate$2$DatabaseActivity(DatabaseActivity.java:87) at com.example.myapplication.-$$Lambda$DatabaseActivity$nBBLphg3l29m_zMvU09AJR1LYws.onClick(Unknown Source:2) at android.view.View.performClick(View.java:6256) at android.view.View$PerformClick.run(View.java:24701) at android.os.Handler.handleCallback(Handler.java:789) at android.os.Handler.dispatchMessage(Handler.java:98) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6541) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
JAR files:
org.apache.poi:poi:4.1.0
org.apache.poi:poi-ooxml:4.1.0
stax', name: 'stax-api', version: '1.0.1
org.apache.xmlbeans', name: 'xmlbeans', version: '3.1.0
Already tried to add the entire apache-poi 4.1.0 jar files, didn't help. Happens both with .xlsx files and .xls files.
来源:https://stackoverflow.com/questions/56939326/w-system-err-http-xml-org-sax-properties-declaration-handler-when-reading-xl