写入Google表格中的多个单元格

时间:2018-01-15 05:14:02

标签: javascript

无论如何只用一行代码写入多个单元格?

而不是:

response_sheet.getRange("B1").setValue("Name");
response_sheet.getRange("B6").setValue("Evaluators:");
response_sheet.getRange("A9").setValue("Ownership");

类似的东西:

response_sheet.getRange([["B1"],["B6"],["A9"]]).setValues([["Name","Evaluators","Ownership"]]);

上面给我一个"范围未找到"但错误。无法找到任何有关这是否可行的工作样本或文件。

1 个答案:

答案 0 :(得分:0)

不幸的是,我认为没有方法可以直接将值导入Class SpreadsheetApp中的离散范围。但是如果你想导入" Name"," Evaluators"和#34;所有权"到" B1"," B6"和" A9"使用getRange()setValues(),您可以使用以下示例脚本。

SpreadsheetApp.getActiveSheet().getRange("A1:B9").setValues([["","Name"],["",""],["",""],["",""],["",""],["","Evaluators"],["",""],["",""],["Ownership",""]]);

如果您想使用具有更高可读性的方法,那么使用Sheets API v4怎么样?要使用此脚本,请在高级Google服务和API控制台上启用Sheets API v4。

在高级Google服务中启用表格API v4

  • 在脚本编辑器上
    • 资源 - >高级Google服务
    • 启用Google表格API v4

Enable Sheets API v4 at API console

  • 在脚本编辑器上
    • 资源 - >云平台项目
    • 查看API控制台
    • 在“入门”中,单击“启用API”并获取密钥等凭据。
    • 在左侧,单击“库”。
    • 在搜索API&服务,输入"表"。然后点击Google表格API。
    • 单击“启用”按钮。
    • 如果API已启用,请不要关闭。

一个衬管样品:

Sheets.Spreadsheets.Values.batchUpdate({"data":[["sheet1!B1","Name"],["sheet1!B6","Evaluators"],["sheet1!A9","Ownership"]].map(function(e){return{"range":e[0],"values":[[e[1]]]}}),"valueInputOption":"USER_ENTERED"},"### spreadsheet ID ###");

扩展一个衬管样品:

Sheets.Spreadsheets.Values.batchUpdate(
  {
    "data":[
      ["sheet1!B1","Name"], // Please input range (a1notation) and value.
      ["sheet1!B6","Evaluators"], // Please input range (a1notation) and value.
      ["sheet1!A9","Ownership"] // Please input range (a1notation) and value.
    ].map(function(e){
      return{
        "range":e[0],
        "values":[[e[1]]]
      }
    }),
    "valueInputOption":"USER_ENTERED"
  },
  "### spreadsheet ID ###" // Please input spreadsheet ID.
);

注意:

  • 使用此脚本时,请将上述二维数组的a1notation和值范围以及电子表格ID输入。
  • 使用["sheet1!B1","value1"],["sheet2!B1","value2"]时,可以将值导入两个工作表。

参考文献:

如果这对你没用,我很抱歉。