Rendern Sie HTML-Inhalte in Google Spreadsheet
Ich habe einen HTML-Inhalt in Zelle A1. Ich möchte den HTML-Inhalt rendern und den gerenderten HTML-Inhalt in Zelle B1 hinzufügen
zB wenn ich diesen HTML in A1 habe
<label class="s-label mb4 d-block" for="wmd-input">
Body
<p class="s-description mt2">Include all the information someone would need to answer your question</p>
</label>
Ich möchte, dass die Ausgabe in B1 ist
Body
Include all the information someone would need to answer your question
ich habe es versucht
var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Und es bekommt den gleichen HTML-Code und fügt ihn mit den Tags ein, ohne etwas zu rendern
Antworten
Ich glaube Ihr Ziel wie folgt.
- Sie möchten die HTML-Daten mithilfe von Google Apps Script in Nur-Text-Daten konvertieren.
Änderungspunkte:
- Die Methode von
getContent()in Class HtmlOutput gibt die HTML-Daten zurück. Ref Ich dachte, dass dies der Grund für Ihr Problem sein könnte.
Um den gerenderten Text ohne die HTML-Tags abzurufen, möchte ich in dieser Antwort vorschlagen, die Textdaten durch Konvertieren der HTML-Daten in Google Document mithilfe der Methode "Dateien: Einfügen" in Drive API v2 abzurufen. (Da die Version der Drive-API beim erweiterten Google-Dienst immer noch Version 2 ist.)
Wenn Ihr Skript geändert wird, sieht es wie folgt aus.
Geändertes Skript:
Bevor Sie dieses Skript verwenden, aktivieren Sie die Drive-API bei den erweiterten Google-Diensten .
Von:var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Zu:
var htmlTarget = current.getRange('A1').getValue();
var blob = Utilities.newBlob(htmlTarget, MimeType.HTML);
var id = Drive.Files.insert({title: "sample", mimeType: MimeType.GOOGLE_DOCS}, blob).id;
var message = DocumentApp.openById(id).getBody().getText();
DriveApp.getFileById(id).setTrashed(true); // or Drive.Files.remove(id);
database.getRange('B1').setValue(message);
- In diesem geänderten Skript wird der folgende Ablauf ausgeführt.
- Konvertieren Sie HTML-Daten als temporäre Datei in Google Document.
- Rufen Sie Textdaten aus Google Document ab.
- Entfernen Sie die temporäre Datei.
- Fügen Sie die Textdaten in die Zelle ein.
Verweise:
- getContent ()
- Dateien: einfügen