2

Ich habe eine Google-Tabelle mit nur einem Blatt mit einer Spalte. Jedes Mal, wenn es geändert wird, sollte es als einfache Textdatei (* .txt) auf meinem Google-Laufwerk gespeichert werden. Also würde ich den Trigger "on edit" verwenden, um das Skript auszuführen.Exportieren Google-Tabelle in eine Textdatei mit Skript

Ich fand ein paar Skripte, die angeblich genau das getan haben, was ich brauche, aber sie scheinen veraltete Referenzen zu verwenden, wie this one, die vor zwei Jahren gepostet wurde. Also meine Frage ist, wie ein Blatt in eine Textdatei jetzt im Jahr 2016 exportieren?

Antwort

4

Hier ist eine einfache Exportfunktion, die für mich funktioniert: Sie exportiert das aktuelle Blatt als Tab-getrennte Textdatei, deren Name das Erstellungsdatum enthält.

Sie können festlegen, dass es bei der Bearbeitung ausgelöst wird, indem Sie Ressourcen> Aktuelle Projektauslöser im Skript-Editor verwenden.

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); 
} 

Je nach Editor/OS, können Sie join('\r\n') statt join('\n') hier wollen.

+1

Danke, das hat mich auf den richtigen Weg gebracht. Ich habe eine delete-alte-Datei-Zeile (will nur eine Datei) und ein \ r auf das Trennzeichen (so in einer Textdatei, ist alles nicht nur eine lange Zeile), und es funktioniert perfekt für mich: Funktion export() { DriveApp.getFilesByName ('testfile.txt'). next(). setTrashed (true); var blatt = SpreadsheetApp.getActiveSheet(); var values ​​= Blatt.getDataRange(). GetValues ​​(); var text = values.map (Funktion (a) {return a.join ('\ t');}). Join ('\ r \ n'); DriveApp.createFile ('testfile.txt', Text, MimeType.PLAIN_TEXT); } – AlexSell

Verwandte Themen