使用字典中的数据(使用 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)