·烂笔头Web端 8 4022

EasyExcel导出时提示“单元格存储内容超过了最大 32767 个字符”的解决方法

解决用EasyExcel导出文件时,提示“The maximum length of cell contents (text) is 32,767 characters”的方法。

问题

1682409790343.jpg

解决

利用反射强制将EXCEL2007中的_maxTextLength属性值修改为Integer.MAX_VALUE

public static void resetCellMaxTextLength() {
    SpreadsheetVersion excel2007 = SpreadsheetVersion.EXCEL2007;
    if (Integer.MAX_VALUE != excel2007.getMaxTextLength()) {
        Field field;
        try {
            field = excel2007.getClass().getDeclaredField("_maxTextLength");
            field.setAccessible(true);
            field.set(excel2007,Integer.MAX_VALUE);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用

在EasyExcel调用之前执行即可

ExcelTool.resetCellMaxTextLength();
EasyExcel.write(getAbsoluteFile(filename), clazz).sheet(sheetName).doWrite(list);
10 个赞
本文最后更新于 2023年4月25日

评论 (8)

DengQN
DengQN
2024年2月2日 16:17 南宁市 电信 Windows
好使,兄弟
Chrison
Chrison
2024年2月2日 16:22 无锡市 电信 Mac
好使就行~
TeacherDu
TeacherDu
2023年5月16日 22:29 北京市 移动 Windows
还说我们,你这也没更新的啊!
Chrison
Chrison
2023年5月17日 09:49 苏州市 电信 Mac
哈哈哈哈哈
93攻略
93攻略
2023年5月12日 17:26 九江市 电信 Windows
你写得非常清晰明了,让我很容易理解你的观点。
Chrison
Chrison
2023年5月13日 00:19 苏州市 电信 iPhone
感谢🙏
TeacherDu
TeacherDu
2023年4月26日 19:05 北京市 移动 Windows
这工具是干什么的?
Chrison
Chrison
2023年4月26日 20:41 苏州市 电信 Mac
阿里出的基于Java的Excel处理工具。 快速完成Excel的读、写、填充等功能

发表评论

支持 Markdown 语法