javascript - 将 xlsx 转换为 json 时更改日期格式
问题描述
我正在尝试从 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);
}
它返回给我:DOCDT 是返回日期的值。 {"数据":[{"DOCNO":"001","NETAMOUNT":30000,"IREF1":"50","IREF2":"100","DOCDT":43989},{"DOCNO":2 ,"NETAMOUNT":40000,"IREF1":40,"IREF2":90,"DOCDT":43989}]}
解决方案
试试用这个,
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);
}
推荐阅读
- angular - 反应式表单/使用提供者服务在组件之间传递数据。- REFRESH/RELOAD 期间应用程序中断
- c# - 用户干预我的应用程序时立即触发?
- php - JQuery Ajax 不向数据库发送数据
- javascript - 是否可以在一个页面上拥有多个 ARIA 实时区域并让屏幕阅读器同时宣布两者?
- docker - 为什么我不能通过 Docker-compose 将 spring-boot 容器连接到 mysql sql 容器?
- c++ - 如何在 C++ 中最大化 SSD I/O?
- date - 将 Vuetify 格式日期更改为特定格式
- docker - 无法使用 docker run -e 或 --env-file 选项设置环境变量
- javascript - 个人资料查找(freecodecamp)挑战
- git - 远程:此存储库当前大小为 1.1 GB。如果超过 2 GB,它将进入只读模式