我正在使用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打开文件。这个对吗?我该如何实现?
感谢。
带有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)
参考文献: