Renderizar conteúdo HTML em planilhas do Google
Tenho um conteúdo HTML na célula A1, desejo renderizar o conteúdo HTML e adicionar o conteúdo HTML renderizado na célula B1
por exemplo, se eu tiver este HTML em 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>
Quero que a saída em B1 seja
Body
Include all the information someone would need to answer your question
eu tentei
var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
E ele obtém o mesmo HTML e o cola com as tags sem renderizar nada
Respostas
Eu acredito que seu objetivo é o seguinte.
- Você deseja converter os dados HTML em dados de texto simples usando o Google Apps Script.
Pontos de modificação:
- O método da
getContent()classe HtmlOutput retorna os dados HTML. Ref . Pensei que esse poderia ser o motivo do seu problema.
Para recuperar o texto renderizado sem as tags HTML, nesta resposta, gostaria de propor a recuperação dos dados de texto convertendo os dados HTML em documentos do Google usando o método "Arquivos: inserir" na API do Drive v2. (Porque a versão da API do Drive ainda é v2 no serviço avançado do Google.)
Quando seu script é modificado, ele se torna da seguinte maneira.
Script modificado:
Antes de usar este script, habilite a API do Drive nos serviços avançados do Google .
A partir de:var htmlTarget = current.getRange('A1').getValue();
var htmlOutput = HtmlService.createHtmlOutput(htmlTarget);
var message = htmlOutput.getContent();
database.getRange('B1').setValue(message);
Para:
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);
- Nesse script modificado, o seguinte fluxo é executado.
- Converta dados HTML em documentos do Google como um arquivo temporal.
- Recupere dados de texto de documentos do Google.
- Remova o arquivo temporal.
- Coloque os dados de texto na célula.
Referências:
- obter conteudo()
- Arquivos: inserir