解决用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);
还说我们,你这也没更新的啊!
@TeacherDu : 哈哈哈哈哈
你写得非常清晰明了,让我很容易理解你的观点。
@93攻略 : 感谢🙏
这工具是干什么的?
@TeacherDu : 阿里出的基于Java的Excel处理工具。
快速完成Excel的读、写、填充等功能