赞
踩
应用场景:
当前端要导出表格时需要设置时间或者重量以及金钱的数字格式,可以运用worksheet.getColumn('需要进行格式转换的列数').numFmt来进行数字的格式转换,具体的格式也可以参考下图中的单元格格式中的数字格式。
下面是代码实现:
- // 引入ExcelJS
- const ExcelJS = require('exceljs');
-
- // 创建工作簿
- const workbook = new ExcelJS.Workbook();
-
- // 添加工作表
- const worksheet = workbook.addWorksheet('My Sheet');
-
- // 设置表头
- worksheet.columns = [
- { header: "编号", key: "sort", width: 10 },
- { header: "费用", key: "class", width: 20 },
- { header: "时间", key: "name", width: 20 },
- { header: "得分", key: "score", width: 10 },
- ];
-
- // 添加数据
- worksheet.addRow({ sort: 1, num: 123.2, time: "2023/6/5 6:20:08", score: 44 });
- worksheet.addRow({ sort: 2, num: 120.3, time: "2023/6/5 6:20:08", score: 86 });
- worksheet.addRow({ sort: 3, num: 27.33, time: "2023/6/5 6:20:08", score: 58 });
-
- // 设置第二列为货币格式
- worksheet.getColumn(2).numFmt = '$0.00';
-
-
- // 设置第三列的时间格式为yyyy/m/d h:mm
- worksheet.getColumn(3).numFmt = 'yyyy/m/d h:mm';
-
- // 将工作簿保存到文件
- workbook.xlsx.writeFile("example.xlsx")
- .then(function() {
- console.log("文件已保存。");
- });
拓展:
我们也可以利用 getColumn
来读取列信息,使用exchCell进行遍历单元格列:
- worksheet.getColumn("score").eachCell((cell, rowIdx) => {
- console.log(cell.value, rowIdx);
- // 得分, 1
- // 99, 2
- // 86, 3
- });
我们也可以利用 getRow
来读取列信息,使用exchCell进行遍历单元格行:
- worksheet.getRow(1).eachCell((cell, rowIdx) => {
- console.log(cell.value, rowIdx);
- // 编号, 1
- // 费用, 2
- // 时间, 3
- // 得分, 4
- });
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。