You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Google Sheet单元格中的HTML代码渲染到另一单元格

Google Sheets 批量将HTML渲染为文本(Tab2工作表F列转G列)

以下是适配需求的完整Google Apps Script代码,可将Tab2工作表F列的HTML代码渲染为纯文本后写入同一行的G列:

function renderHtmlToText() {
  // 获取目标工作表
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Tab2");
  if (!sheet) {
    SpreadsheetApp.getUi().alert("未找到名为Tab2的工作表");
    return;
  }

  // 获取F列所有数据范围(从第1行到最后一行)
  const fColumn = sheet.getRange("F:F");
  const fValues = fColumn.getValues();
  const lastRow = sheet.getLastRow();

  // 循环处理每一行
  for (let i = 0; i < lastRow; i++) {
    const htmlContent = fValues[i][0];
    // 跳过空单元格
    if (!htmlContent || typeof htmlContent !== "string") {
      continue;
    }

    try {
      // 将HTML内容转为Blob
      const blob = Utilities.newBlob(htmlContent, MimeType.HTML);
      // 创建临时Google文档解析HTML
      const tempDoc = Drive.Files.insert(
        { title: `Temp_HTML_Render_${i}`, mimeType: MimeType.GOOGLE_DOCS },
        blob
      );
      // 提取文档中的纯文本
      const textContent = DocumentApp.openById(tempDoc.id).getBody().getText();
      // 删除临时文档
      DriveApp.getFileById(tempDoc.id).setTrashed(true);
      // 将文本写入对应行的G列
      sheet.getRange(i + 1, 7).setValue(textContent.trim());
    } catch (error) {
      // 处理错误,写入错误提示
      sheet.getRange(i + 1, 7).setValue(`渲染失败:${error.message}`);
    }
  }

  SpreadsheetApp.getUi().alert("HTML渲染完成");
}

使用步骤:

  1. 打开你的Google Sheet,点击顶部菜单栏的「扩展程序」→「Apps脚本」
  2. 删除编辑器中的默认代码,粘贴上述完整代码
  3. 点击编辑器顶部的「保存」按钮,为脚本命名(比如HTML_Render)
  4. 点击运行按钮(▶️),首次运行会触发权限授权,按照提示完成授权(需要允许脚本访问你的Drive和Spreadsheet)
  5. 授权完成后再次运行,等待脚本执行完成

代码说明:

  • 工作表定位:通过getSheetByName("Tab2")精准定位目标工作表
  • 空值跳过:循环时跳过F列空单元格,避免无效操作
  • 临时文档处理:每次创建唯一命名的临时文档解析HTML,完成后立即移至回收站,避免Drive空间占用
  • 错误处理:捕获渲染过程中的异常,在G列写入错误提示,方便排查问题
  • 批量处理:自动遍历所有有数据的行,无需手动指定范围

内容的提问来源于stack exchange,提问作者ColbyTravel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 02:05:16