2016-12-29 1 views
1

Ich versuche, eine Menüschaltfläche in meiner Google-Tabelle zu erstellen, die ein Skript ausführt. Dieses Skript sollte bestimmte Zeilen und Spalten extrahieren und anschließend in eine XML-Datei exportieren.Google Script-Exporttabelle in XML-Datei

Ich versuche, die XML-Datei mit dem ContentService schreiben, aber es scheint nicht zu funktionieren. Gibt es ein Beispiel oder eine Anleitung, die helfen können?

Danke

Antwort

3

Erhalten Sie irgendwelche Fehlermeldungen? Oder, was speziell nicht funktioniert?

Ich habe es gerade getestet und es scheint in Ordnung, hier ist mein Snippet

function doGet(e) { 
    var content; 
    try { 
    content = doIt(e); 
    } catch(err) { 
    content = '<error>' + (err.message || err) + '</error>'; 
    } 
    return ContentService.createTextOutput(content) 
    .setMimeType(ContentService.MimeType.XML); 
} 

function doIt(e) { 
    if (!e) throw 'you cannot run/debug this directly\nyou have to either call the url or mock a call'; 
    if (!e.parameter.id) throw '"id" parameter not informed. Please provide a spreadsheet id.'; 

    var values = SpreadsheetApp.openById(e.parameter.id) 
    .getSheets()[0].getRange('A1:B2').getValues(); 
    return '<sheet>' + values.map(function(row, i) { 
    return '<row>' + row.map(function(v) { 
     return '<cell>' + v + '</cell>'; 
    }).join('') + '</row>'; 
    }).join('') + '</sheet>'; 
} 

By the way, habe ich dieses Skript als Web-App als Benutzer für jedermann zu Test läuft veröffentlicht: https://script.google.com/macros/s/AKfycbwrctRyspI2LnZ5hP8CMm7yY96jebLQS_4LShaKr_RIUKLm9qg/exec?id=paste-a-tabelle-id-here

+0

Vielen Dank! Der Trick bestand nun darin, das Skript als Webanwendung bereitzustellen. Nochmals vielen Dank;) – Shatazone

+0

Dies ist, wo ich komplett verwirrt mit Google - es sagt, Ihre Skripts wollen Erlaubnis, meine Dokumente zu sehen, aber offensichtlich will ich Sie nicht (nichts für ungut) – v3nt

+0

Dieses Skript liest die A1: B2-Bereich der Tabelle geben Sie die ID in der URL an (um ihre XML-Ausgabe zu generieren). Der gesamte Code ist jedoch auf der Antwort verfügbar. Wenn Sie meinem Skript nicht trauen (was Sie wirklich nicht sollten), können Sie den Code kopieren und selbst bereitstellen. –