问题遇到的现象和发生背景
Excel单元格的字符只能是32,767以内。
运行结果及报错内容
我想要达到的结果
请问如何扩大字符限制或者修改代码来使得导出文件正常运行
Excel单元格的字符只能是32,767以内。
请问如何扩大字符限制或者修改代码来使得导出文件正常运行
1 改用csv导出
2 多sheet页导出https://www.kancloud.cn/zhangdaiscott/autopoi/1623969
3 限制导出条件 减少导出数据
//创建临时csv文件 rows为表头 title为表数据
File tempFile = PoiUtils.createTempFile(rows, title);
//输出csv流文件,提供给浏览器下载
PoiUtils.outCsvStream(response, tempFile);
//删除临时文件
PoiUtils.deleteFile(tempFile);
/**
* 创建临时的csv文件
* @return
* @throws IOException
*/
public static File createTempFile(List<String[]> datas,String[] headers) throws IOException {
File tempFile = File.createTempFile("vehicle", ".csv");
CsvWriter csvWriter = new CsvWriter(tempFile.getCanonicalPath(), ',', Charset.forName("UTF-8"));
// 写表头
csvWriter.writeRecord(headers);
for (String[] data : datas) {
//这里如果数据不是String类型,请进行转换
for (int i = 0; i < data.length; i++) {
csvWriter.write(data[i],true);
}
csvWriter.endRecord();
}
csvWriter.close();
return tempFile;
}