如何将Google Sheet带邮编城市列导入Google Docs指定位置?
实现Google Sheet数据批量填充到Google Docs指定位置
前提准备
- 确保你的Google Sheet和Google Docs都已共享给当前登录的Google账号,且拥有编辑权限
- 提前记录以下信息:
- Google Sheet的ID(从Sheet的URL中提取,格式类似
https://docs.google.com/spreadsheets/d/[SheetID]/edit) - Google Docs的ID(同理从Docs的URL中提取)
- Sheet中“带邮编的城市”列所在的工作表名称(默认是
Sheet1) - Docs中用来填充数据的占位符,比如提前在指定位置插入
{{城市邮编}}
- Google Sheet的ID(从Sheet的URL中提取,格式类似
步骤1:打开Google Apps Script编辑器
- 打开目标Google Sheet,点击顶部菜单栏的
扩展程序>Apps Script - 清空默认的
Code.gs内容,准备粘贴脚本
步骤2:编写自动化脚本
function fillCitiesToDocs() { // 替换为你的实际配置信息 const SHEET_ID = "你的Google Sheet ID"; const SHEET_NAME = "Sheet1"; const DOCS_ID = "你的Google Docs ID"; const PLACEHOLDER = "{{城市邮编}}"; // 与Docs中的占位符保持一致 // 获取Sheet中的城市数据 const sheet = SpreadsheetApp.openById(SHEET_ID).getSheetByName(SHEET_NAME); // 假设“带邮编的城市”在A列,非A列可修改为对应列标识(如B列写"B:B") const cityData = sheet.getRange("A:A").getValues(); // 过滤空行数据 const validCities = cityData.filter(row => row[0] !== "").map(row => row[0]); // 遍历每个城市,生成对应Docs文档 validCities.forEach(city => { // 复制原Docs为新文档,命名包含当前城市信息 const newDoc = DocumentApp.openById(DOCS_ID).makeCopy(`伦敦城市详情_${city}`); const body = newDoc.getBody(); // 替换占位符为当前城市数据 body.replaceText(PLACEHOLDER, city); // 保存并关闭文档 newDoc.saveAndClose(); console.log(`已生成包含${city}的文档`); }); }
步骤3:配置脚本参数
- 将代码中的
SHEET_ID、SHEET_NAME、DOCS_ID替换为你自己的信息 - 若“带邮编的城市”列不是A列,修改
getRange("A:A")为对应列的标识(如B列写"B:B") - 确保Docs中的占位符与代码里的
PLACEHOLDER完全匹配
步骤4:运行脚本
- 点击脚本编辑器顶部的运行按钮,首次运行会触发权限验证,按提示完成授权即可
- 运行完成后,可在Google云端硬盘中找到生成的、每个包含对应城市邮编数据的Docs文档
可选调整
- 若不需要生成多个Docs副本,而是要将所有城市数据依次填充到同一Docs的不同位置,可修改脚本逻辑,比如按顺序替换多个占位符或追加内容
- 可添加错误处理代码,避免因空数据或权限问题导致脚本中断
内容的提问来源于stack exchange,提问作者Saud Irfan
相关产品推荐
相关产品推荐

