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

如何基于列表批量创建遵循模板的Google Sheets并填充指定单元格

批量创建并填充Google Sheets模板方案

前置准备

  • 确认你的模板表格已创建完成,复制模板的ID(从模板URL中提取,格式类似 123abcXYZ...)
  • 确认源数据表格的列顺序:A=Title, B=ID, C=Description, D=Address, E=Country, F=Cell_A, G=Cell_B, H=Cell_C(第一行为表头,数据从第二行开始)

实现脚本

打开源数据表格,点击「扩展程序」→「Apps 脚本」,清空默认代码,粘贴以下脚本:

function batchCreateSheetsFromTemplate() {
  // 替换为你的模板表格ID
  const TEMPLATE_SPREADSHEET_ID = "你的模板ID";
  // 替换为源数据所在的工作表名称(比如"数据列表")
  const SOURCE_SHEET_NAME = "数据列表";
  
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sourceSheet = ss.getSheetByName(SOURCE_SHEET_NAME);
  // 获取所有数据行(跳过表头)
  const data = sourceSheet.getDataRange().getValues().slice(1);
  
  // 遍历每一行数据
  data.forEach(row => {
    const [title, id, description, address, country, cellA, cellB, cellC] = row;
    
    // 跳过空行
    if (!title) return;
    
    try {
      // 复制模板表格到当前用户的云端硬盘根目录(可修改目标文件夹,见注释)
      const newSheet = DriveApp.getFileById(TEMPLATE_SPREADSHEET_ID).makeCopy(title);
      const newSpreadsheet = SpreadsheetApp.openById(newSheet.getId());
      
      // 定义填充单元格的工具函数
      function fillCell(cellRef, value) {
        if (!cellRef || !value) return;
        // 拆分工作表名和单元格位置(比如"Sheet1!A5"拆成["Sheet1", "A5"])
        const [sheetName, cellAddr] = cellRef.split("!");
        const targetSheet = newSpreadsheet.getSheetByName(sheetName.trim());
        if (targetSheet) {
          targetSheet.getRange(cellAddr.trim()).setValue(value);
        }
      }
      
      // 填充对应内容
      fillCell(cellA, description);
      fillCell(cellB, address);
      fillCell(cellC, country);
      
      // 如果需要把ID写入固定位置,可添加以下代码(按需修改)
      // newSpreadsheet.getSheetByName("Sheet1").getRange("A1").setValue(id);
      
      console.log(`已创建表格:${title}`);
    } catch (e) {
      console.error(`创建表格${title}失败:${e.message}`);
    }
  });
}

脚本说明

  1. 替换参数:把TEMPLATE_SPREADSHEET_ID和SOURCE_SHEET_NAME替换为你实际的模板ID和源数据工作表名
  2. 目标文件夹:默认复制到根目录,如需指定文件夹,可修改makeCopy方法,比如:DriveApp.getFolderById("目标文件夹ID").createFile(newSheet)
  3. 权限授权:第一次运行脚本时,需要授权Google访问你的云端硬盘和表格,按提示完成授权即可
  4. 错误处理:脚本会跳过空行,创建失败的表格会在日志中显示错误信息,可通过「查看」→「日志」查看

运行方式

在Apps Script编辑器中,选择batchCreateSheetsFromTemplate函数,点击运行按钮即可开始批量创建。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 08:47:28