1 回答

TA貢獻1856條經驗 獲得超17個贊
你的意圖是正確的,代碼是錯誤的。您正在定義數據并將其推送到數組中,而不是創建 JSON 對象。嘗試這個。
var to_json_linebyline = function to_json_linebyline(wb){
var sheet = wb.Sheets['Sheet1'];
var results = [];
var range = XLSX.utils.decode_range(sheet['!ref']);
for(let rowNum = (range.s.r+1); rowNum <= range.e.r; rowNum++){
let thisRow = {},
thisNode = '';
for(let colNum=range.s.c; colNum<=range.e.c; colNum++){
var thisHeader = sheet[XLSX.utils.encode_cell({r: 0, c: colNum})].w
var thisCell = sheet[XLSX.utils.encode_cell({r: rowNum, c: colNum})].w
if(colNum === 0){
thisNode = thisCell;
}
thisRow[thisHeader] = thisCell;
}
thisResult = {};
thisResult[thisNode] = [thisRow]
results.push(thisResult)
}
return JSON.stringify(results);
}
添加回答
舉報