GAS和Google Spreadsheet API v4-写入文件

问题描述 投票:0回答:1

我正在使用Apps脚本,并且已经为我的代码授权了Drive API和Sheets API。第一步,我正在使用它在Google驱动器中创建电子表格。

function createSS() {

  var ssName = 'TEST123';
  var parentFolder = '1MCQ7f7KUJ474FHA2IzyASV99Igz6aHEu';
  var resource = {
    title: ssName,
    mimeType: MimeType.GOOGLE_SHEETS,
    parents: [{ id: parentFolder }]
  }
  var ss = Drive.Files.insert(resource);

}

现在,我需要添加一些工作表和单元格值。我猜我应该在编辑之前使用Sheets API通过ID打开文件。这个对吗?我该如何实现?

感谢。

google-apps-script google-drive-api google-sheets-api
1个回答
0
投票

您可以同时使用SpreadsheetApp和Sheets API来添加工作表和值。

带有SpreadsheetApp的示例:

  var ID="XXX";
  var sheetName="XXX";
  var values=[[1,2,3],[4,5,6]];
  var ss=SpreadsheetApp.openById(ID);
  ss.insertSheet('sheetName');
  var sheet=ss.getSheetByName('sheetName');
  var range=sheet.getRange("A1:C2");

  range.setValues(values);

带有Sheets API的示例(请在GAS编辑器中启用第一个Sheets Advanced服务:]

  var ID="XXX";
  var sheetName="XXX";
  var values="1,2,3, \n 4,5,6";
  var resource = {requests: [
            {
                "addSheet": {
                  "properties": {
                  "title": sheetName,
                  "sheetId": 3
                  } 
               }
             },{
                "pasteData": {
                  "data": values,
                  "type": "PASTE_NORMAL",
                  "delimiter": ",",
                  "coordinate": {
                  "sheetId": 3,
                  "rowIndex": 0,
                  "columnIndex": 0
                   }
                  }
                }
              ]
             };     
  Sheets.Spreadsheets.batchUpdate(resource, ID)

参考文献:

© www.soinside.com 2019 - 2024. All rights reserved.