先说问题:
刚开始的时候 我是在Gradle 构建工具 中添加implementation
dependencies { implementation 'org.apache.poi:poi:3.17' implementation 'org.apache.poi:poi-ooxml:3.17' // 其他依赖项... }
代码中采用很正常的方式来实现
Workbook workbook =null; try { workbook =new XSSFWorkbook(); // 创建工作表 Sheet sheet = workbook.createSheet(SheetName); }catch(Exception e){ }
结果就在 new XSSFWorkbook()的时候出现了异常,而且异常无法捕获到,程序直接跳到下个模块执行,来来回回版本也换了好几个 都是相同的问题,后来 怀疑是引用文件冲突的问题,但没有解决掉,有好的解决方法可以在评论区回复。 下面是换了一种方式来实现
集成POI
由于Apache的POI框架里面一些引用类,在JRE中有,但是在Android上面没有,在集成后的使用中会出现一些错误,例如
- 提示noClassFound javax.xml.xxx
- java.lang.VerifyError: org/apache/poi/xssf/usermodel/XSSFWorkbook
- 64k错误
所以不建议使用Apache的POI库,这里建议使用github上大神重新打包的POI阉割版。
Android 5.0以上:Github地址
Android 5.0以下:Github地址
直接下载poi-3.12-android-a.jar和poi-ooxml-schemas-3.12-20150511-a.jar两个jar包,然后放到项目lib目录下,右键Add As Library就可以了。
这样代码也不用动,功能终于实现了...
Gradle 构建工具