使用字典中的数据(使用 Apps 脚本)(一次)在 Google Sheet 上写入多行
Write multiple rows on Google Sheet (at once) with data from a dictionary (using Apps Script)
在应用程序脚本中,我有一个字典对象,其格式为:{ name1: "info1", name2: "info2", … }。
sheet 的截图供参考:gsheet(不是 link 实际的 sheet,因为上面没有太多内容)
已编辑:我将如何编写应用程序脚本代码来立即填充 B 列?意思是,我不必为每一行调用相同的函数!我只需调用一次该函数,B 列就会被填充。
尝试
function myFunction() {
// building the dictionary
const sh = SpreadsheetApp.getActiveSheet()
const dict = `{ "name1": "info1", "name2": "info2", "name3": "info3"}`
// parsing the disctionary
const obj = JSON.parse(dict)
const values = sh.getRange('A2:A'+sh.getLastRow()).getValues().flat().map(k => obj[k] || 'not found')
SpreadsheetApp.getActiveSheet().getRange(2,2,values.length,1).setValues(transpose([values]))
}
function transpose(a){
return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}
这有帮助吗?
const dict = ...
const data = Object.keys(dict).map(key => [key, dict[key]])
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName(`MY_SHEET`)
.getRange(2, 1, data.length, data[0].length)
.setValues(data)
在应用程序脚本中,我有一个字典对象,其格式为:{ name1: "info1", name2: "info2", … }。
sheet 的截图供参考:gsheet(不是 link 实际的 sheet,因为上面没有太多内容)
已编辑:我将如何编写应用程序脚本代码来立即填充 B 列?意思是,我不必为每一行调用相同的函数!我只需调用一次该函数,B 列就会被填充。
尝试
function myFunction() {
// building the dictionary
const sh = SpreadsheetApp.getActiveSheet()
const dict = `{ "name1": "info1", "name2": "info2", "name3": "info3"}`
// parsing the disctionary
const obj = JSON.parse(dict)
const values = sh.getRange('A2:A'+sh.getLastRow()).getValues().flat().map(k => obj[k] || 'not found')
SpreadsheetApp.getActiveSheet().getRange(2,2,values.length,1).setValues(transpose([values]))
}
function transpose(a){
return Object.keys(a[0]).map(function (c) { return a.map(function (r) { return r[c]; }); });
}
这有帮助吗?
const dict = ...
const data = Object.keys(dict).map(key => [key, dict[key]])
SpreadsheetApp.getActiveSpreadsheet()
.getSheetByName(`MY_SHEET`)
.getRange(2, 1, data.length, data[0].length)
.setValues(data)