android - 在 android 中创建 excel 表

标签 android apache-poi

我正在尝试从我的 android 应用程序生成 excel 报告,为此我遇到了 apache POI 但是当我将 jar 文件导入文件夹时它显示我在 5 月发现的以下错误放置在网络上。

对于像这样的库

poi-3.11-20141221.jar
poi-ooxml-3.11-20141221.jar
poi-ooxml-schemas-3.11-20141221.jar

trouble writing output: Too many method references: 76142; max is 65536.

然后我转到了稍晚一点的版本

trouble writing output: Too many method references: 66024; max is 65536.

poi-3.9-20121203.jar
poi-ooxml-3.9-20121203.jar
poi-ooxml-schemas-3.9-20121203.jar

我已经看到可能与它相关的帖子,但仍然没有找到解决问题的任何明确方法,如果有人可以提出路线图,我将不胜感激

最佳答案

您的库定义了很多您可能不会使用的方法。 尝试在您的 gradle 构建文件中启用 minify:

 android {
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
        debug {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
 }

这将停止编译未使用的代码。 ProGuard包含在 AndroidStudio gradle 插件中。

此外,您还可以启用 resource shrinking :

...
release {
    minifyEnabled true
    shrinkResources true
    proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
...

同样适用于调试{...}

更新

看起来像是构建工具的问题: Changelog BuildTools v21.1(2014 年 10 月):

添加了对 APK 的 multidex 文件支持和 Jack 支持以解决 64K 方法引用限制。

关于android - 在 android 中创建 excel 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27888258/

相关文章:

android - 资源字符串中的换行符不起作用

Android Studio 无法识别我导入的 Github 项目

java - 使用 Apache POI 替换相关单元格后评估公式

apache-poi - apache poi 从 excel date() 函数读取日期给出了错误的日期

java - Oracle 将 xls 中的行插入数据库给出 ORA-12899 : value too large for column "AFSWEB" ."BD_VEHICLES_TEMP_1" ."DIVI"

java - 即使关闭流后也无法删除文件

android.support.design.widget.CoordinatorLayout 错误

android - 如何在两个VideoView中同时显示同一视频

android - 带有附加垂直填充的 BackgroundColorSpan

java - 如何使用 Apache POI 将现有 Excel 工作表中的一行复制到新的 Excel 工作表?