HTML içeriğini google e-tablosunda işleyin
A1 hücresinde bir HTML içeriğim var, HTML içeriğini oluşturmak ve oluşturulan HTML içeriğini B1 hücresine eklemek istiyorum
Örneğin, bu HTML’yi A1’de tutarsam
<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>
B1'deki çıktının olmasını istiyorum
Body
Include all the information someone would need to answer your question
denedim
var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Ve aynı HTML'yi alır ve hiçbir şey oluşturmadan etiketlerle yapıştırır.
Yanıtlar
Amacınızın aşağıdaki gibi olduğuna inanıyorum.
- Google Apps Komut Dosyasını kullanarak HTML verilerini düz metin verilerine dönüştürmek istiyorsunuz.
Değişiklik noktaları:
getContent()HtmlOutput Sınıfındaki yöntemi HTML verilerini döndürür. Ref Sorununuzun sebebinin bu olabileceğini düşündüm.
Oluşturulan metni HTML etiketleri olmadan almak için, bu yanıtta, Drive API v2'de "Dosyalar: ekle" yöntemini kullanarak HTML verilerini Google Dokümanına dönüştürerek metin verilerini almayı önermek istiyorum. (Çünkü Drive API sürümü, Gelişmiş Google hizmetinde hala v2'dir.)
Komut dosyanız değiştirildiğinde aşağıdaki gibi olur.
Değiştirilmiş komut dosyası:
Bu komut dosyasını kullanmadan önce, lütfen Gelişmiş Google hizmetlerinde Drive API'yi etkinleştirin .
Kimden:var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Kime:
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);
- Bu değiştirilmiş komut dosyasında aşağıdaki akış çalıştırılır.
- HTML verilerini geçici bir dosya olarak Google Dokümanına dönüştürün.
- Google Dokümanından metin verilerini alın.
- Geçici dosyayı kaldırın.
- Metin verilerini hücreye koyun.
Referanslar:
- içeriğe eriş()
- Dosyalar: ekle