2016-04-12 3 views
1

Ich versuche, einige Daten automatisch aus einer Google-Tabelle zu senden. Es funktioniert OK, aber das Layout ist Klartext ohne Formatierung, wie in einer Standard-CSV-Datei.Verwenden Sie MailApp, um formatierte Daten aus einer Tabelle in htmlBody zu senden

Ich habe die Sending emails from a Spreadsheet tutorial auf der Google Developer-Website gefunden, und ich möchte einen Bereich aus meiner Google Spreadsheet als HTML in den E-Mail-Inhalt hinzugefügt werden. Aber ich kann nicht herausfinden, wie das geht.

Ich habe versucht mit der Funktion MailApp.sendEmail ({recipient, subject, htmlBody: body});, aber bei der Definition meiner "var Körper" habe ich offensichtlich das Problem. Der Bereich wäre etwa A1:E15, wobei Zeile A die Überschrift enthält.

Als Ergebnis in der Mail, die ich diese:

[Object]

Alles was ich brauche ist im Grunde die Daten in Zeilen und Spalten, wie in der Tabelle Die brillante Lösung würde sei, eine Startposition wie Zelle A1 zu definieren und dann Daten bis zur nächsten leeren Zeile anzuzeigen/zu verwenden.

Antwort

0

Da Sie bereits über Code verfügen, der Daten aus der Kalkulationstabelle sendet, sehen wir uns nur an, wie Sie den HTML-Text für eine schön formatierte Ausgabe generieren können.

Ich habe die SheetConverter Library, mit einer convertRange2html() Funktion, die ein Range-Objekt gegeben werden kann und den Inhalt als formatierte HTML-Tabelle zurückgegeben. (Der Bibliothekscode ist als gist verfügbar.)

Wenn Bibliotheken für Sie neu sind, lesen Sie die von der Google Developers-Website.

Um alle Daten einer Tabelle, um sich als HTML-Tabelle zu erhalten gesendet:

... 
var recipient = Session.getActiveUser().getEmail(); 
var subject = "Spreadsheet contents"; 
var range = SpreadsheetApp.getActiveSheet().getDataRange(); 
var htmlTable = SheetConverter.convertRange2html(range); 
var body = "Here is the table:<br/><br/>" 
     + htmlTable 
     + "<br/><br/>The end." 
MailApp.sendEmail({recipient, subject, htmlBody: body}); 
... 
+0

Ist das Ihre Bibliothek, Sir? Wenn ja, ich gebe dir Requisiten! Habe es erst ein paar Tage entdeckt und mir große Kopfschmerzen erspart. – Gerneio

+0

@Gerneio - Ja, es gehört mir, ich bin froh, dass es geholfen hat! Die schwierigsten Teile davon sind nicht mehr erforderlich, da Google jetzt die Möglichkeit bietet, den formatierten Inhalt von Zellen zu erhalten, aber es funktioniert immer noch gut. – Mogsdad

Verwandte Themen