2
我有一個Google電子表格文件,其中只包含一列表單。每次更改時,它都應該保存爲我的Google驅動器上的簡單文本(* .txt)文件。所以我會使用「on edit」觸發器來運行腳本。使用腳本將Google電子表格導出到文本文件
我發現了幾個腳本,據說曾經做過我需要的腳本,但他們似乎使用過時的引用,如兩年前發佈的this one。 所以我的問題是,如何在2016年將工作表導出爲文本文件?
我有一個Google電子表格文件,其中只包含一列表單。每次更改時,它都應該保存爲我的Google驅動器上的簡單文本(* .txt)文件。所以我會使用「on edit」觸發器來運行腳本。使用腳本將Google電子表格導出到文本文件
我發現了幾個腳本,據說曾經做過我需要的腳本,但他們似乎使用過時的引用,如兩年前發佈的this one。 所以我的問題是,如何在2016年將工作表導出爲文本文件?
這是一個簡單的導出函數,適用於我:它將當前工作表導出爲製表符分隔的文本文件,其名稱包括創建日期。
您可以將其設置爲在編輯時使用腳本編輯器中的資源>當前項目的觸發器進行觸發。
function export() {
var sheet = SpreadsheetApp.getActiveSheet();
var values = sheet.getDataRange().getValues();
var text = values.map(function (a) {return a.join('\t');}).join('\n');
DriveApp.createFile('Data as of ' + new Date(), text);
}
根據您的編輯器/ OS,您可能希望join('\r\n')
,而不是join('\n')
這裏。
謝謝,這讓我走上了正軌。我添加了一個刪除舊文件行(只需要一個文件)和一個\ r到分隔符(所以在一個文本文件中,所有內容都不只是一個長行),並且它對我來說非常合適: 函數export(){ DriveApp.getFilesByName('testfile.txt')。next()。setTrashed(true); var sheet = SpreadsheetApp.getActiveSheet(); var values = sheet.getDataRange()。getValues(); var text = values.map(function(a){return a.join('\ t');})。join('\ r \ n'); DriveApp.createFile('testfile.txt',text,MimeType.PLAIN_TEXT); DriveApp.createFile('testfile.txt',text,MimeType.PLAIN_TEXT); } – AlexSell