如何通过ExcelJS获取工作表单元格的格式化数值?
ExcelJS获取单元格格式化显示值的解决方案
ExcelJS本身没有内置方法直接解析单元格数字格式并返回格式化后的显示值,但可以通过以下方式实现需求:
手动结合单元格数值与数字格式进行格式化
你可以利用单元格的value(原始计算值)和numFmt(设置的数字格式)属性,自行编写格式化逻辑或借助轻量库处理:const ExcelJS = require('exceljs'); const workbook = new ExcelJS.Workbook(); (async () => { await workbook.xlsx.readFile('你的文件.xlsx'); const worksheet = workbook.getWorksheet('slide1'); const cell = worksheet.getCell('Q4'); // 针对#,###.0格式的简单格式化实现 const rawValue = cell.value; const formattedValue = Number(rawValue).toFixed(1); console.log(formattedValue); // 输出 5.7 })();若涉及复杂数字格式(如带货币符号、百分比、自定义日期格式等),可以使用
numeral.js这类格式化库,根据Excel的numFmt规则配置对应格式字符串来处理。注意事项
Excel的数字格式规则较为复杂,部分自定义格式可能需要额外的解析逻辑,无法通过简单的格式化方法完全覆盖,需根据实际使用的格式类型针对性处理。
内容的提问来源于stack exchange,提问作者prototype
相关产品推荐
相关产品推荐

