Skip to content

sail-sail/ejsExcel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ejsExcel

nodejs excel template engine. node export excel, ejsExcel

How to use?

npm install ejsexcel

How to test?

  • 执行 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

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_)%> 打印临时变量到控制台,进行调试

Author

Templates

做一个这样的模版 模板

Result

加数据渲染之后,导出结果

导出结果

捐赠鼓励支持此项目,支付宝扫描:

捐赠鼓励支持此项目

项目贡献人列表

  • @Hello World ¥50
  • @德爾文 ¥50
  • @Explore® ¥50
  • @向左转 ¥50
  • @吴燕飞 ¥50
  • @strive-ming ¥10
  • @MR.P ¥16.66
  • @不求来生 ¥6.60
  • @羊刀 ¥6.66
  • @Leo ¥8.88
  • @不摇碧莲 ¥6.66
  • @天涯海角 ¥10
  • @刚刚好 ¥5
  • @Aptenodytes forsteri ¥15
  • @HHB ¥30
  • @Original ¥88.88
  • @半日 ¥10
  • @狗狗踏青去了 ¥50
  • @zzzzzzzz ¥50
  • @zzzzzzzz ¥30
  • @九尾之狐 ¥66.66
  • @小小青尘 ¥50
  • @亲眼 ¥6.66