如何用Google Apps Script在谷歌表格中创建多行数据录入表单
多行多列数据录入到Database工作表的解决方案
实现步骤:
- 打开你的谷歌表格,点击顶部菜单栏「扩展程序」→「Apps 脚本」,进入脚本编辑器。
- 删除编辑器里的默认代码,替换为以下脚本:
function submitMultiRowData() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const formSheet = ss.getSheetByName('Form Entry'); const dbSheet = ss.getSheetByName('Database'); // 获取Form Entry的所有数据范围(表头在第1行) const dataRange = formSheet.getDataRange(); const values = dataRange.getValues(); // 仅当存在数据行时执行操作 if (values.length > 1) { // 跳过表头,提取数据行 const dataRows = values.slice(1); // 将数据追加到Database工作表的末尾 dbSheet.getRange(dbSheet.getLastRow() + 1, 1, dataRows.length, dataRows[0].length).setValues(dataRows); // 可选:提交后清空Form Entry的数据行(保留表头) formSheet.getRange(2, 1, formSheet.getLastRow() - 1, formSheet.getLastColumn()).clearContent(); } }
代码说明:
- 脚本自动读取「Form Entry」中所有已填充的数据(跳过第一行表头)
- 将读取到的多行多列数据追加到「Database」工作表的最后一行之后
- 最后一段清空代码为可选功能,若不需要提交后清空表单,可删除该行
添加快捷提交按钮:
- 返回谷歌表格,点击「插入」→「绘图」,绘制一个带文字(如「提交数据」)的按钮图形
- 保存绘图后,点击该图形,选择右上角三点图标→「分配脚本」,输入
submitMultiRowData(注意大小写完全匹配),点击确定
注意事项:
- 确保「Form Entry」与「Database」的表头列数、列顺序一致,避免数据错位
- 首次运行脚本时,会触发权限授权,按照页面提示完成授权即可
- 若「Form Entry」中无数据行,脚本不会执行任何操作
内容的提问来源于stack exchange,提问作者jimmy sianipar
相关产品推荐
相关产品推荐

