LSL1618
LSL1618
试试将空的`title`给个占位符,比如`-、_、/、\`
估计是xlsx文件相对更复杂,没有多余的精力去处理,xlsx文件推荐使用第三方导出插件比如 [ExcelJS](https://github.com/exceljs/exceljs) [SheetJS](https://docs.sheetjs.com/docs/)。
> 自己加一下在layui.js中,增加一个mate项就行了  光增加选项没啥用,还需要加上具体实现方法,而layui内部本质上只支持导出csv文件,还不如直接加个“导出”按钮,用ExcelJS实现导出xlsx文件。
@JiangYuSong 看这里 **[https://github.com/layui/layui/issues/1827](https://github.com/layui/layui/issues/1827)**
用记事本或者其它文本编辑器打开csv文件,看看原始内容是否完整,还是也变成了?号。
可以分成多个小批次去写入嘛,写入一批就释放一批,然后继续写下一批,避免OOM的大概思路。
> 目前就是分页查询再写入的,但是还是有问题呢。 > > ```java > try ( ExcelWriter excelWriter = EasyExcel.write(response.getOutputStream(), ReportExportVO.class) > .includeColumnFieldNames(includeColumnFiledNames).build();){ > // 写入概览数据 > writeSummaryData(excelWriter, taskCode, taskReportSummary); > // 按路线划分 sheet > routes.forEach((routeExecRecordDTO -> {...
一个ReportExportVO对象包含几张图?你试着再缩小一次写入的数据条数,然后每次写入后释放一下缓存`excelWriter.finish()`但不要关闭流。
@zivfuture 我找了一下竟然没有flush()方法,finish()方法确实不能用,要不然直接就关闭workbook,关闭流了。
列宽用这个专用策略类`SimpleColumnWidthStyleStrategy`,行高用这个专用策略类`SimpleRowHeightStyleStrategy`,记得要注册策略类实例`EasyExcel.registerWriteHandler()`,支持重复调用注册多个实例。