Results 90 comments of LSL1618

试试将空的`title`给个占位符,比如`-、_、/、\`

估计是xlsx文件相对更复杂,没有多余的精力去处理,xlsx文件推荐使用第三方导出插件比如 [ExcelJS](https://github.com/exceljs/exceljs) [SheetJS](https://docs.sheetjs.com/docs/)。

> 自己加一下在layui.js中,增加一个mate项就行了 ![image](https://private-user-images.githubusercontent.com/165743395/318621050-9139f389-bfc3-4172-be5c-50bd86d21e4a.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTIxMjg0NjAsIm5iZiI6MTcxMjEyODE2MCwicGF0aCI6Ii8xNjU3NDMzOTUvMzE4NjIxMDUwLTkxMzlmMzg5LWJmYzMtNDE3Mi1iZTVjLTUwYmQ4NmQyMWU0YS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjQwNDAzJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI0MDQwM1QwNzA5MjBaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0yOTBjOGVhY2U1Y2Q0ZmEwZjZjMWUxZmI1ZTFmMjg3NDEzNjAzOTVmMGE5OGMwNDIxYWZhM2E4NTBkZWNjYzUxJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCZhY3Rvcl9pZD0wJmtleV9pZD0wJnJlcG9faWQ9MCJ9.noq7oO3KdvgRisgCrs1FWjbRilfVjpU36Tp8xkV2Kuc) 光增加选项没啥用,还需要加上具体实现方法,而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()`,支持重复调用注册多个实例。