当前位置:   article > 正文

前端ExcelJS设置某一列的数字格式_exceljs numfmt

exceljs numfmt

应用场景:

当前端要导出表格时需要设置时间或者重量以及金钱的数字格式,可以运用worksheet.getColumn('需要进行格式转换的列数').numFmt来进行数字的格式转换,具体的格式也可以参考下图中的单元格格式中的数字格式。

 下面是代码实现:

  1. // 引入ExcelJS
  2. const ExcelJS = require('exceljs');
  3. // 创建工作簿
  4. const workbook = new ExcelJS.Workbook();
  5. // 添加工作表
  6. const worksheet = workbook.addWorksheet('My Sheet');
  7. // 设置表头
  8. worksheet.columns = [
  9. { header: "编号", key: "sort", width: 10 },
  10. { header: "费用", key: "class", width: 20 },
  11. { header: "时间", key: "name", width: 20 },
  12. { header: "得分", key: "score", width: 10 },
  13. ];
  14. // 添加数据
  15. worksheet.addRow({ sort: 1, num: 123.2, time: "2023/6/5 6:20:08", score: 44 });
  16. worksheet.addRow({ sort: 2, num: 120.3, time: "2023/6/5 6:20:08", score: 86 });
  17. worksheet.addRow({ sort: 3, num: 27.33, time: "2023/6/5 6:20:08", score: 58 });
  18. // 设置第二列为货币格式
  19. worksheet.getColumn(2).numFmt = '$0.00';
  20. // 设置第三列的时间格式为yyyy/m/d h:mm
  21. worksheet.getColumn(3).numFmt = 'yyyy/m/d h:mm';
  22. // 将工作簿保存到文件
  23. workbook.xlsx.writeFile("example.xlsx")
  24. .then(function() {
  25. console.log("文件已保存。");
  26. });

拓展:

我们也可以利用 getColumn 来读取列信息,使用exchCell进行遍历单元格列:

  1. worksheet.getColumn("score").eachCell((cell, rowIdx) => {
  2. console.log(cell.value, rowIdx);
  3. // 得分, 1
  4. // 99, 2
  5. // 86, 3
  6. });

我们也可以利用 getRow 来读取列信息,使用exchCell进行遍历单元格行:

  1. worksheet.getRow(1).eachCell((cell, rowIdx) => {
  2. console.log(cell.value, rowIdx);
  3. // 编号, 1
  4. // 费用, 2
  5. // 时间, 3
  6. // 得分, 4
  7. });

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/668953
推荐阅读
相关标签
  

闽ICP备14008679号