Google sheets Google应用程序脚本批处理以意外的时间执行
下面的代码生成一张空白表,可能是由于.clear()最后执行,即使它列在第一位Google sheets Google应用程序脚本批处理以意外的时间执行,google-sheets,script,Google Sheets,Script,下面的代码生成一张空白表,可能是由于.clear()最后执行,即使它列在第一位 const ss = SpreadsheetApp.getActiveSpreadsheet(); var contractSheet = ss.getSheetByName(sheetName); contractSheet.clear(); const body = {requests: [{pasteData: {html: true, data
const ss = SpreadsheetApp.getActiveSpreadsheet();
var contractSheet = ss.getSheetByName(sheetName);
contractSheet.clear();
const body = {requests: [{pasteData: {html: true, data: table[0], coordinate: {sheetId: ss.getSheetByName(sheetName).getSheetId()}}}]};
Sheets.Spreadsheets.batchUpdate(body, ss.getId());
如果删除.clear(),脚本将正常运行并填充工作表。但在加载来自最终批处理请求的新数据之前,我需要清除该表
任何想法都将不胜感激。:-) 在这种情况下,如何在脚本中使用
SpreadsheetApp.flush()
,如下所示?我认为在运行clear()
之后,需要反映它并请求Sheets API的batchUpdate方法
修改脚本:
参考:
SpreadsheetApp.flush()
怎么样?我认为在运行clear()
之后,需要反映它并请求Sheets API的batchUpdate方法
修改脚本:
参考:
const ss = SpreadsheetApp.getActiveSpreadsheet();
var contractSheet = ss.getSheetByName(sheetName);
contractSheet.clear();
SpreadsheetApp.flush(); // Added
const body = {requests: [{pasteData: {html: true, data: table[0], coordinate: {sheetId: ss.getSheetByName(sheetName).getSheetId()}}}]};
Sheets.Spreadsheets.batchUpdate(body, ss.getId());