我正在使用 sheetjs。空单元格未填充到包含标题的 json 对象中。如果未输入列,我也需要该信息。这是我的代码:
workbook.SheetNames.forEach((sheetName) => {
let XL_row_object = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {defval:""});
console.log( JSON.stringify(XL_row_object ));
}
我正在使用 sheetjs。空单元格未填充到包含标题的 json 对象中。如果未输入列,我也需要该信息。这是我的代码:
workbook.SheetNames.forEach((sheetName) => {
let XL_row_object = XLSX.utils.sheet_to_json(workbook.Sheets[sheetName], {defval:""});
console.log( JSON.stringify(XL_row_object ));
}
你可以在开始时用这部分解决它,当你包含你的 SheetJS 时:
**const data = xlsx.utils.sheet_to_json((ws),{defval:""});**
我遇到了同样的问题,我用这个解决了这个问题:
XLSX.readFile('file', {sheetStubs:true})
为了扩展sheetStubs
答案,XLSX.utils.sheet_to_json
将忽略存根,因此您应该首先使用一个简单的函数对其进行转换:
function removeStubs(wb) {
Object.values(wb.Sheets).forEach(ws => {
Object.values(ws).filter(v => v.t === 'z').forEach(v => Object.assign(v,{t:'s',v:''}));
});
return wb;
}
然后打电话
removeStubs( XLSX.readFile('file', {sheetStubs:true}) )