_data_ | data 为内置对象, 数据源 |
<%forRow | 循环一行 |
<%# | 输出动态公式 |
<%~ | 输出数字类型格式 |
<%= | 输出字符串 |
<%forCell | 循环单元格 |
<%forRBegin | 循环多行 |
<%forCBegin | 循环多个单元格 |
<%hideSheet()%> | 隐藏所在工作表 |
<%showSheet()%> | 显示所在工作表 |
<%deleteSheet()%> | 删除所在工作表 |
<% %> | 内部可执行 任意 javascript,可以用 <%console.log(data)%> 打印临时变量到控制台,进行调试 |
<%_mergeCellFn_("C"+_row+":D"+_row)%>
_row当前需要合并的宽度及长度
官网的例子
// 模板导出后的地址
const filePath = './excel/' + '表名' + ".xlsx";
// 获得Excel模板的buffer对象
// const exlBuf = await readFileAsync("./excel/locationCodeDaily.xlsx");
const exlBuf = fs.readFileSync(path.join(__dirname, './locationCodeDaily.xlsx'));
// 用数据源(对象)data渲染Excel模板,cachePath为编译缓存路径, 绝对路径, 若不设置, 则无缓存
const exlBuf2 = await ejsexcel.renderExcel(exlBuf, data,{ cachePath: __dirname + "../../../../cache/" });
await writeFileAsync(filePath, exlBuf2);
<% %>写js的时候注意要有空格比如
<% if (_data_.a) { %><%=_data_.a%><% } %>