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

December 17, 2023
测试
测试
测试
测试
1 分钟阅读

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

问题

解决

利用反射强制将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);

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多