nodejs excel template engine. node export excel
nodejs excel template engine. node export excel, ejsExcel
npm install ejsexcel
执行 test/test.bat
test/test.bat
test/test.xlsx 为完整示例 demo
e.g
const ejsexcel = require("ejsexcel");
const fs = require("fs");
const util = require("util");
const readFileAsync = util.promisify(fs.readFile);
const writeFileAsync = util.promisify(fs.writeFile);
(async function() {
//获得Excel模板的buffer对象
const exlBuf = await readFileAsync("./test.xlsx");
//数据源
const data = [];
//用数据源(对象)data渲染Excel模板
//cachePath 为编译缓存路径, 对于模板文件比较大的情况, 可显著提高运行效率, 绝对路径, 若不设置, 则无缓存
const exlBuf2 = await ejsexcel.renderExcel(exlBuf, data, { cachePath: __dirname+"/cache/" });
await writeFileAsync("./test2.xlsx", exlBuf2);
console.log("生成test2.xlsx");
})();
Syntax | Description |
---|---|
_data_ |
_data_ 为内置对象, 数据源 |
<%forRow |
循环一行 |
<%# |
输出动态公式 |
<%~ |
输出数字类型格式 |
<%= |
输出字符串 |
<%forCell |
循环单元格 |
<%forRBegin |
循环多行 |
<%forCBegin |
循环多个单元格 |
<%_mergeCellFn_("C2:E2")%> |
合并单元格C2:E2 |
<%_dataValidation_({ sqref: "A1:A3", formula1: "\"序列1,序列2\"" })%> |
数据验证 |
<%_hideSheet_()%> |
隐藏所在工作表 |
<%_showSheet_()%> |
显示所在工作表 |
<%_deleteSheet_()%> |
删除所在工作表 |
<% %> |
内部可执行 任意 javascript ,可以用 <%console.log(_data_)%> 打印临时变量到控制台,进行调试 |
做一个这样的模版
加数据渲染之后,导出结果