我已經決議了一個從 API 到 2d 陣列的 json 回應,現在我已經構建了陣列,我想在我的作業表上顯示它但是這是我的資料陣列它有 413 行,這些行有不同數量的資料(行0 是包含 67 個欄位的標題行,但并非每一行都包含所有 67 個資料欄位)

這是我用來嘗試將資料寫入作業表的代碼(shProductData 是我之前在代碼中定義的用于識別作業表的變數)
shProductData.getRange(1,1,dataArray.length,dataArray[0].length).setValues(dataArray);
但是我得到了錯誤:
例外:資料中的列數與范圍內的列數不匹配。資料有 40,但范圍有 67。
它首先將標題行寫入我的作業表,然后在下一個作業表上失敗。有沒有辦法解決?還是我要以某種方式使我的子陣列的大小都為 67?
uj5u.com熱心網友回復:
您可以通過以下方式在資料中短行的末尾添加空單元格:
var data = [
[1,2,3],
[4,5],
[6,]
]
// get max length of rows in the data
var max_length = Math.max(...data.map(x => x.length));
// add empty cells at end of short rows
data.forEach(row => { while (row.length < max_length) row.push('') } )
console.log(data); // output: [ [ 1, 2, 3 ], [ 4, 5, '' ], [ 6, '', '' ] ]
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435851.html
標籤:谷歌应用脚本
