ejsExcel icon indicating copy to clipboard operation
ejsExcel copied to clipboard

模板数据量大的时候如何处理

Open cckowin opened this issue 4 years ago • 3 comments

在做导出excel功能的时候 如果data的数据比较大 下面的代码在renderExcel的时候会很耗时

const fs = require('mz/fs');
const ejsexcel = require('ejsedcel');

const str = await fs.readFile(__dirname + './template.xlsx');
await ejsexcel.renderExcel(temlate, data);

如果是大文件的下载我可以通过fs.createReadStream(filepath)的方式边读边传输 ejsexcel在这种情况下该如何处理啊,能做到边渲染边传输吗

cckowin avatar Jun 24 '20 03:06 cckowin

检查一下Excel模板, 是不是有很多空行, 导致编译速度很慢 data数据量有多大?

sail-sail avatar Jun 24 '20 04:06 sail-sail

data数据有5万行

cckowin avatar Jun 24 '20 05:06 cckowin

5万行, 时间应该也还好, 你应该先返回给浏览器说,正在处理中, 因为浏览器不会等超过30秒, 然后让后台慢慢渲染, 之后浏览器轮询查看渲染结果

sail-sail avatar Jun 24 '20 05:06 sail-sail