Экспортируйте таблицу Google в .XLSX каждый раз, когда вносите изменения
Мне нужен Google Script, который автоматически экспортирует электронную таблицу в .XLSX всякий раз, когда производится редактирование, перезаписывая все предыдущие версии. С помощьюэтот ответ в качестве шаблона я создал следующий код:
function onEdit() {
var s = SpreadsheetApp.getActiveSheet();
var r = s.getActiveCell();
if( r.getColumn() != 1 ) { //checks the column
var row = r.getRow();
var time = new Date();
time = Utilities.formatDate(time, "GMT-08:00 ", "MM/dd/yy, hh:mm:ss");
SpreadsheetApp.getActiveSheet().getRange('A' + row.toString()).setValue(time);
var id = 'MY_SPREADSHEET_KEY'
var url = 'https://docs.google.com/feeds/';
var doc = UrlFetchApp.fetch(url+'download/spreadsheets/Export?key='+id+'&exportFormat=xls',
googleOAuth_('docs',url)).getBlob()
DocsList.createFile(doc).rename('newfile.xls')
};
};
function googleOAuth_(name,scope) {
var oAuthConfig = UrlFetchApp.addOAuthService(name);
oAuthConfig.setRequestTokenUrl("https://www.google.com/accounts/OAuthGetRequestToken?scope="+scope);
oAuthConfig.setAuthorizationUrl("https://www.google.com/accounts/OAuthAuthorizeToken");
oAuthConfig.setAccessTokenUrl("https://www.google.com/accounts/OAuthGetAccessToken");
oAuthConfig.setConsumerKey('anonymous');
oAuthConfig.setConsumerSecret('anonymous');
return {oAuthServiceName:name, oAuthUseToken:"always"};
}
Тем не менее, это не похоже на экспорт. ИЛИ, если это экспорт, я не уверен, где это происходит.
Есть идеи?