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

Apps Script如何获取Web App提交的HTML表单数据并写入Google Sheets

问题排查

  • 字段名不匹配:HTML表单中输入框的name属性是firstname,但后端getData函数中取值用的是data.name,根本无法获取到提交的内容,自然无法写入表格。
  • 写入位置逻辑错误:getCurrentCell()获取的是表格当前被手动选中的单元格,写入位置完全随机,还会覆盖已有数据,需要主动定位到工作表最后一行的下一行作为新数据的写入位置。
  • 缺少状态反馈:现有写法提交后用户无法知道提交结果,建议给google.script.run添加成功、失败回调,方便排查问题。
  • 额外注意事项:代码修改后必须重新部署新版本的Web App才会生效,直接保存代码不会更新已发布的服务;同时要确认部署权限配置正确,且表格中确实存在名为Logs的工作表。

修正后代码

Index.html

<form id="Form" onsubmit="event.preventDefault(); 
google.script.run
  .withSuccessHandler(() => alert('提交成功'))
  .withFailureHandler(err => alert('提交失败:' + err))
  .getData(this)">
  <input type="text" name="firstname" required>
  <input type="submit" value="提交">
</form>

Code.gs

function getData(data) {
    var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Logs');
    // 取最后一行的下一行作为新数据写入位置
    var targetRow = sheet.getLastRow() + 1;
    sheet.getRange(targetRow, 1).setValue(data.firstname);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 16:00:00