首页 > 解决方案 > 使用 SheetJS 格式化日期

问题描述

提前感谢您查看这个问题!我正在尝试使用 SheetJS 读取 .xlsx 文件,但是在通过 Excel 格式化为自定义“yyyy/mm/dd hh:mm:ss”的日期列时遇到了一些问题。所有这些日期都显示为较大的浮点值。

这是在上传时读取 .xlsx 文件的代码:

uploadWorkbook(e) {
    let reader = new FileReader();
    reader.readAsBinaryString(e.target.files[0]);
    reader.onload = (e) => {
        let data = e.target.result;
        let workbook = XLSX.read(data, {type: 'binary'});
        let first_sheet_name = workbook.SheetNames[0];
        let worksheet = workbook.Sheets[first_sheet_name];
        let jsonObj = XLSX.utils.sheet_to_json(worksheet);
        console.log(jsonObj);
    }
}

例如,第一个对象的日期值为 43395.29775462963。如果可能的话,我什至可以将所有单元格格式化为字符串。任何帮助将不胜感激!

感谢大家!

标签: javascriptxlsxsheetjs

解决方案


因此,我发现在将工作表转换为 JSON 时传递 raw 选项会将所有单元格输出为字符串。所以它会是:

let jsonObj = XLSX.utils.sheet_to_json(worksheet, {raw: false});

推荐阅读