如何在Android应用程序中读取xlsx文件?

时间:2014-01-22 09:23:43

标签: java android excel apache-poi xlsx

我知道stackoverflow上有很多相同的问题,但似乎我看不到任何可能的解决方案来阅读xlsx的内容。

我尝试过:

我试图将整个Apache POI库放到Android应用程序中并尝试读取xlsx文件。 但是,问题是Apache POI库太重而无法放入Android应用程序。错误消息显示Dalvik VM无法执行超过65536种方法的应用程序。

有没有办法在Android应用程序中读取xlsx文件的内容(可能只是内容,其他格式,如单元格的颜色/宽度不重要)? 或者有没有人试图削减apache poi库,以便Dalvik VM可以执行它? 我看到Google Play的QuickOffice也在使用Apache POI,但我真的不知道如何将POI放入应用程序。 非常感谢。

2 个答案:

答案 0 :(得分:1)

刚刚在github上提交了XSSF Android使用演示:

https://github.com/andruhon/AndroidReadXLSX

核心思想是从poi-ooxml和poi-ooxml-schemas中删除所有似乎不必读取XLSX的文件。例如来自poi-ooxml的xslf和xwpf,来自poi-ooxml-schemas的schemas presentationml和wordrpocessingml以及其他东西...

之后,构建您的项目并尝试读取XLSX,在失败后读取日志并查看导致此失败的依赖项,从原始poi-ooxml-schemas jar复制丢失的文件。除非工作正常,否则一遍又一遍地做。

UPD:不再需要--core-library选项!
http://blog.kondratev.pro/2014/09/reading-xlsx-on-android-3.html

上面提到的演示已经包含了减少的poi-ooxml和poi-ooxml-schemas。

答案 1 :(得分:0)

Apache POI 3.5增加了对所有OOXML(docx,xl​​sx等)的支持

请参阅XSSF sub项目