将 xlsx 转换为 json 时日期格式发生变化

Usa*_*riq 2 javascript json primeng angular

我正在尝试读取 xlsx 文件中的数据并将其转换为 json,但日期列值正在更改 这是屏幕截图:我正在从中读取数据的 excel 文件的屏幕截图

以下是从 Excel 文件读取数据并转换为 JSON 的代码:

onBasicUpload(event){
let workBook = null;
let jsonData = null;
const reader = new FileReader();
const file = event.files[0];
console.log(file,"file is here");

reader.onload = (event) => {
  const data = reader.result;
  workBook = xlsx.read(data, { type: 'binary' });
  jsonData = workBook.SheetNames.reduce((initial, name) => {
    const sheet = workBook.Sheets[name];
    initial[name] = xlsx.utils.sheet_to_json(sheet);
    console.log(jsonData,"jsonDAta");
    
    return initial;
  }, {});
  const dataString = JSON.stringify(jsonData);
  console.log(dataString,"stringify data");
  this.jsonArr = JSON.parse(dataString)
  console.log(this.jsonArr,"parsed json");
  console.log(Object.keys(this.jsonArr['data'][0]))
  
}
reader.readAsBinaryString(file);
}
Run Code Online (Sandbox Code Playgroud)

它返回给我:DOCDT 是返回日期的值。 {“数据”:[{“DOCNO”:“001”,“NETAMOUNT”:30000,“IREF1”:“50”,“IREF2”:“100”,“DOCDT”:43989},{“DOCNO”:2 ,"NETAMOUNT":40000,"IREF1":40,"IREF2":90,"DOCDT":43989}]}

Owa*_*han 5

尝试使用这个,

onBasicUpload(event){
let workBook = null;
let jsonData = null;
const reader = new FileReader();
const file = event.files[0];
console.log(file,"file is here");

reader.onload = (event) => {
  const data = reader.result;
  workBook = xlsx.read(data, { type: 'binary' , cellDates: true });
  jsonData = workBook.SheetNames.reduce((initial, name) => {
    const sheet = workBook.Sheets[name];
    initial[name] = xlsx.utils.sheet_to_json(sheet);
    console.log(jsonData,"jsonDAta");
    
    return initial;
  }, {});
  const dataString = JSON.stringify(jsonData);
  console.log(dataString,"stringify data");
  this.jsonArr = JSON.parse(dataString)
  console.log(this.jsonArr,"parsed json");
  console.log(Object.keys(this.jsonArr['data'][0]))
  
}
reader.readAsBinaryString(file);
}
Run Code Online (Sandbox Code Playgroud)