Render konten HTML ke spreadsheet google
Saya memiliki konten HTML di sel A1, saya ingin merender konten HTML dan menambahkan konten HTML yang telah dirender di sel B1
misal kalo saya udah HTML ini di A1
<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>
Saya ingin keluaran dalam B1
Body
Include all the information someone would need to answer your question
Saya sudah mencoba
var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Dan itu mendapatkan HTML yang sama dan menempelkannya dengan tag tanpa merender apa pun
Jawaban
Saya yakin tujuan Anda sebagai berikut.
- Anda ingin mengubah data HTML menjadi data teks biasa menggunakan Google Apps Script.
Poin modifikasi:
- Metode
getContent()di Kelas HtmlOutput mengembalikan data HTML. Ref Saya pikir ini mungkin alasan masalah Anda.
Untuk mengambil teks yang dirender tanpa tag HTML, dalam jawaban ini, saya ingin mengusulkan untuk mengambil data teks dengan mengonversi data HTML ke Google Document menggunakan metode "Files: insert" di Drive API v2. (Karena, versi API Drive masih v2 di layanan Google Lanjutan.)
Ketika skrip Anda diubah, itu menjadi sebagai berikut.
Skrip yang dimodifikasi:
Sebelum Anda menggunakan skrip ini, harap aktifkan API Drive di layanan Google Lanjutan .
Dari:var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Untuk:
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);
- Dalam skrip yang dimodifikasi ini, alur berikut dijalankan.
- Konversikan data HTML ke Google Document sebagai file temporal.
- Ambil data teks dari Google Document.
- Hapus file temporal.
- Letakkan data teks ke sel.
Referensi:
- getContent ()
- File: sisipkan