如何通过Google Apps Script在Google Sheets中生成模板及设置单元格格式
Google Sheets 一键生成自定义模板解决方案
1. 核心脚本实现
直接用下面的脚本就能实现你要的所有功能,我会拆解每个部分的作用:
function generateCustomTemplate() { // 获取当前活动工作表 const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); // 可选:清空目标区域,避免旧内容干扰 const targetRange = sheet.getRange("A1:D5"); targetRange.clear(); // 1. 插入单元格文本 sheet.getRange("A1").setValue("模板标题"); sheet.getRange("B2").setValue("数据项1"); sheet.getRange("C2").setValue("数据项2"); // 批量插入文本(更高效) const batchText = [ ["姓名", "部门"], ["张三", "技术部"], ["李四", "市场部"] ]; sheet.getRange("A3:B4").setValues(batchText); // 2. 设置单元格公式 sheet.getRange("D2").setFormula("=B2+C2"); // 批量设置公式 const batchFormulas = [ ["=B3+C3"], ["=B4+C4"], ["=B5+C5"] ]; sheet.getRange("D3:D5").setFormulas(batchFormulas); // 3. 设置单元格颜色 // 标题行背景+字体颜色 sheet.getRange("A1:D1").setBackground("#4285F4").setFontColor("#FFFFFF"); // 数据行背景色 sheet.getRange("B2:C5").setBackground("#F5F5F5"); // 4. 设置单元格边框 // 给整个模板区域加粗外边框 targetRange.setBorder(true, true, true, true, true, true, "#000000", SpreadsheetApp.BorderStyle.SOLID_THICK); // 给内部单元格加细边框 targetRange.setBorder(null, null, null, null, true, true, "#CCCCCC", SpreadsheetApp.BorderStyle.SOLID); }
各功能拆解
- 插入文本:单个单元格用
setValue(),批量文本用setValues()(传入二维数组),后者更高效 - 设置公式:单个公式用
setFormula(),批量公式用setFormulas(),注意公式要带等号 - 颜色设置:
setBackground()改背景色,setFontColor()改字体颜色,支持十六进制色码或英文颜色名(比如"red") - 边框设置:
setBorder()参数依次控制「上、右、下、左、垂直内框、水平内框」的显示状态,最后指定颜色和边框样式(比如SOLID实线、DASHED虚线)
2. 绑定图片按钮步骤
- 打开你的表格,点击顶部菜单「插入」→「图片」→「在单元格上方」,选一张图片当按钮
- 右键点击图片,选择「分配脚本」,输入函数名
generateCustomTemplate,确定即可 - 现在点击图片就能一键生成模板
3. 注意事项
- 首次运行会弹出权限申请,需要授权脚本访问你的表格
- 可以根据需求修改脚本里的单元格范围、颜色、文本和公式内容
- 要做多个模板的话,复制函数改个名字(比如
generateSalesTemplate),绑定到另一张图片就行
内容的提问来源于stack exchange,提问作者MarDee
相关产品推荐
相关产品推荐

