ejsExcel API参考手册:所有函数和配置项的详细说明
ejsExcel API参考手册所有函数和配置项的详细说明【免费下载链接】ejsExcelnodejs excel template engine. node export excel项目地址: https://gitcode.com/gh_mirrors/ej/ejsExcelejsExcel是一个功能强大的Node.js Excel模板引擎它允许开发者通过模板文件快速生成Excel文档。本参考手册将详细介绍ejsExcel的核心函数、配置选项和使用方法帮助开发者充分利用这个工具提升Excel文件生成效率。核心功能函数1. renderExcel - 异步渲染Excel模板renderExcel是ejsExcel的核心函数用于异步渲染Excel模板并生成最终的Excel文件缓冲区。函数定义async function renderExcel(exlBuf, _data_, opt)参数说明exlBuf(Buffer)Excel模板文件的缓冲区_data_(Object)模板渲染所需的数据对象opt(Object)渲染选项配置返回值Promise 生成的Excel文件缓冲区使用示例const fs require(fs); const ejsExcel require(ejsExcel); async function generateExcel() { const templateBuf fs.readFileSync(template.xlsx); const data { title: 销售报表, items: [...] }; const excelBuf await ejsExcel.renderExcel(templateBuf, data); fs.writeFileSync(output.xlsx, excelBuf); }2. renderExcelCb - 回调风格的Excel渲染对于习惯使用回调函数的开发者ejsExcel提供了renderExcelCb函数它是renderExcel的回调风格版本。函数定义function renderExcelCb(exlBuf, _data_, opt, callback)参数说明exlBuf(Buffer)Excel模板文件的缓冲区_data_(Object)模板渲染所需的数据对象opt(Object)渲染选项配置可选callback(Function)渲染完成后的回调函数回调函数参数err(Error)错误信息如果渲染成功则为nullbuf2(Buffer)生成的Excel文件缓冲区3. getExcelArr - 解析Excel文件为数组getExcelArr函数用于将Excel文件解析为JavaScript数组方便在模板中处理表格数据。函数定义async function getExcelArr(buffer)参数说明buffer(Buffer)Excel文件的缓冲区返回值Promise 解析后的Excel数据数组单元格操作函数4. charToNum - 列字母转数字将Excel列字母如A、BC转换为对应的数字索引。函数定义function charToNum(str)参数str(String)Excel列字母返回值Number对应的列索引从0开始示例charToNum(A); // 0 charToNum(B); // 1 charToNum(AA); // 265. charPlus - 列字母递增将Excel列字母递增类似于Excel中的列自动填充功能。函数定义function charPlus(str, num)参数str(String)基础列字母num(Number)递增数量返回值String递增后的列字母示例charPlus(A, 1); // B charPlus(Z, 1); // AA charPlus(AB, 3); // AE日期处理函数6. date2Num - 日期转Excel序列号将JavaScript日期对象转换为Excel日期序列号。函数定义function date2Num(date)参数date(Date)JavaScript日期对象返回值NumberExcel日期序列号7. num2Date - Excel序列号转日期将Excel日期序列号转换为JavaScript日期对象。函数定义function num2Date(valTmp)参数valTmp(Number)Excel日期序列号返回值Date对应的JavaScript日期对象模板辅助函数8.ps- 处理字符串单元格在模板中用于处理字符串类型的单元格数据自动处理XML转义和共享字符串。函数定义data._ps_ function (str, buf)使用示例% _ps_(data.title, buffer) %9.pi- 处理数字单元格在模板中用于处理数字类型的单元格数据支持日期格式化。函数定义data._pi_ function (str, buf)使用示例% _pi_(data.price, buffer) %10.pf- 处理公式单元格在模板中用于处理Excel公式自动设置单元格类型为公式。函数定义data._pf_ function (str, buf)使用示例% _pf_(SUM(A1:A10), buffer) %工作表操作函数11.hideSheet- 隐藏工作表在模板中隐藏指定的工作表。函数定义data._hideSheet_ function (fileName)参数fileName(String)工作表文件名使用示例% _hideSheet_(xl/worksheets/sheet2.xml) %12.showSheet- 显示工作表在模板中显示指定的工作表如果之前被隐藏。函数定义data._showSheet_ function (fileName)参数fileName(String)工作表文件名13.deleteSheet- 删除工作表从Excel文件中删除指定的工作表。函数定义data._deleteSheet_ function (fileName)参数fileName(String)工作表文件名图片和二维码函数14.img- 插入图片在Excel工作表中插入图片。函数定义data._img_ async function(imgOpt, fileName, rowNum, cellNum)参数imgOpt(Object|String|Buffer)图片选项或图片路径或图片缓冲区fileName(String)目标工作表文件名rowNum(Number)图片起始行号cellNum(Number)图片起始列号15.qrcode- 生成二维码在Excel工作表中生成并插入二维码图片。函数定义data._qrcode_ async function (imgOpt, fileName, rowNum, cellNum)参数imgOpt(Object)二维码选项必须包含text属性fileName(String)目标工作表文件名rowNum(Number)二维码起始行号cellNum(Number)二维码起始列号使用示例% _qrcode_({text: https://example.com, margin: 2}, xl/worksheets/sheet1.xml, 5, 3) %配置选项渲染选项 (opt)在调用renderExcel或renderExcelCb时可以传入配置选项对象控制渲染行为notRenderSheets(Array)指定不需要渲染的工作表名称数组cachePath(String)缓存路径用于缓存模板解析结果提高性能示例const opt { notRenderSheets: [Sheet2, Sheet3], cachePath: ./cache }; const excelBuf await ejsExcel.renderExcel(templateBuf, data, opt);过滤器函数ejsExcel提供了一系列内置过滤器位于filters.js文件中可以在模板中直接使用first- 获取数组第一个元素last- 获取数组最后一个元素capitalize- 首字母大写downcase- 转为小写upcase- 转为大写sort- 排序数组sort_by- 按指定属性排序size/length- 获取长度plus/minus/times/divided_by- 数学运算join- 数组转字符串truncate- 截断字符串replace- 替换字符串prepend/append- 添加元素到数组map- 数组映射reverse- 反转数组get- 获取对象属性json- 转为JSON字符串使用示例% data.names | join(, ) % % data.price | plus(10) | times(0.8) % % data.description | truncate(50) %错误处理在使用ejsExcel时建议使用try/catch捕获可能的错误try { const excelBuf await ejsExcel.renderExcel(templateBuf, data); fs.writeFileSync(output.xlsx, excelBuf); } catch (err) { console.error(Excel生成失败:, err); }常见错误包括模板文件损坏、数据格式错误、工作表操作不当等。详细错误信息会帮助定位问题所在。安装与使用要使用ejsExcel首先需要通过npm安装npm install ejsExcel或者直接克隆仓库git clone https://gitcode.com/gh_mirrors/ej/ejsExcel基本使用流程准备Excel模板文件准备渲染数据调用ejsExcel渲染函数保存生成的Excel文件ejsExcel为Node.js开发者提供了强大的Excel生成能力通过模板引擎的方式极大简化了Excel文件的创建过程。无论是生成报表、导出数据还是创建复杂的Excel文档ejsExcel都能满足你的需求。【免费下载链接】ejsExcelnodejs excel template engine. node export excel项目地址: https://gitcode.com/gh_mirrors/ej/ejsExcel创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考