第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

為 Excel 中的每行數(shù)據(jù)返回 JSON 對象

為 Excel 中的每行數(shù)據(jù)返回 JSON 對象

子衿沉夜 2023-09-21 10:49:36
我正在為 SheetJS 使用 webpack。我對 webpack 比較陌生,而且對 SheetJS 完全是新手。我不想返回Excel 數(shù)據(jù)的一個(gè)JSON 對象,而是想為Excel 中的每一行數(shù)據(jù)返回一個(gè) JSON 對象。輸入 Excel 布局示例:Col1     Col2      Col3A2       B2        C2A3       B3        C3此示例中的理想輸出是 2 個(gè) JSON 對象:JSON 1:{    "A2": [        {           "Col1": "A2"           "Col2": "B2"           "Col3": "C2"        }    ]}JSON 2: {       "A3": [        {           "Col1": "A3"           "Col2": "B3"           "Col3": "C3"        }    ] }嘗試的解決方案:var to_json_linebyline = function to_json_linebyline(wb){    var sheet = wb.Sheets['Sheet1'];    var result = {};    var row, rowNum, colNum;    var range = XLSX.utils.decode_range(sheet['!ref']);    for(rowNum = range.s.r; rowNum <= range.e.r-2; rowNum++){    row = [];       for(colNum=range.s.c; colNum<=range.e.c; colNum++){          var nextCell = sheet[          XLSX.utils.encode_cell({r: rowNum, c: colNum})       ];       if( typeof nextCell === 'undefined' ){          row.push(void 0);       } else row.push(nextCell.w);       }       result[nextCell.v] = row;    }    return JSON.stringify(result, 2, 2);}當(dāng)前結(jié)果:{  "Col3": [    "Col1",    "Col2",    "Col3"  ],  "C2": [    "A2",    "B2",    "C2"  ],  "C3": [    "A3",    "B3",    "C3"  ]}任何朝著正確方向發(fā)展的事情都會很棒。如果它有幫助,這里是github 存儲庫..謝謝!
查看完整描述

1 回答

?
慕慕森

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊

你的意圖是正確的,代碼是錯(cuò)誤的。您正在定義數(shù)據(jù)并將其推送到數(shù)組中,而不是創(chuàng)建 JSON 對象。嘗試這個(gè)。


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);

}


查看完整回答
反對 回復(fù) 2023-09-21
  • 1 回答
  • 0 關(guān)注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號