HTML içeriğini google e-tablosunda işleyin

Nov 14 2020

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

1 Tanaike Nov 15 2020 at 06:29

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.
    1. HTML verilerini geçici bir dosya olarak Google Dokümanına dönüştürün.
    2. Google Dokümanından metin verilerini alın.
    3. Geçici dosyayı kaldırın.
    4. Metin verilerini hücreye koyun.

Referanslar:

  • içeriğe eriş()
  • Dosyalar: ekle