https://github.com/sail-sail/ejsExcel

    1. const ejsexcel = require("ejsexcel");
    2. const fs = require('fs');
    3. const path = require("path");
    4. function writeExcel(data) {
    5. const templateXls = fs.readFileSync(path.resolve(__dirname, '../public/模板.xlsx'));
    6. //渲染Excel表格
    7. ejsexcel.renderExcel(templateXls, data).then(function (exlBuf) {
    8. //写入文件 指定文件名
    9. fs.writeFileSync(path.resolve(__dirname, `../public/CMCC.xlsx`), exlBuf);
    10. console.log(`生成:xlsx成功`);
    11. }).catch(function (err) {
    12. console.error(err);
    13. });
    14. }

    示例输入:

    1. const data = {
    2. num:1,
    3. list:[
    4. {
    5. name:'zhang',
    6. age:18
    7. },
    8. {
    9. name:'li',
    10. age:15
    11. }
    12. ]
    13. }

    模板.xlsx示例如下

    今日有<%~data.num%>个
    序号 姓名 年龄
    <%forRow item, i in data.list%><%~i+1%> <%=item.name%> <%~item.age%>

    输出:

    今日有1个

    序号 姓名 年龄
    1 zhang 18
    2 li 15