使用Google Apps Script,可以轻松地从Google表单中获取响应数据并填充到Google工作表模板中。以下是详细步骤:
function onFormSubmit(e) {
var response = e.response;
var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
var templateSheet = SpreadsheetApp.openById("TEMPLATE_SHEET_ID").getActiveSheet();
// 将表单响应数据复制到工作表模板
var values = response.getItemResponses();
var templateValues = templateSheet.getRange(1, 1, templateSheet.getLastRow(), templateSheet.getLastColumn()).getValues();
for (var i = 0; i < values.length; i++) {
var question = values[i].getItem().getTitle();
var answer = values[i].getResponse();
for (var j = 0; j < templateValues.length; j++) {
if (templateValues[j][0] == question) {
templateValues[j][1] = answer;
break;
}
}
}
// 清空工作表模板并填充新数据
templateSheet.clearContents();
templateSheet.getRange(1, 1, templateValues.length, templateValues[0].length).setValues(templateValues);
// 将填充后的工作表模板复制到目标工作表
templateSheet.copyTo(sheet.getParent()).setName("Filled Template");
}
请替换代码中的"TEMPLATE_SHEET_ID"为Google工作表模板的ID,该ID可以从模板工作表的URL中获取。
function onSubmit(e) {
var url = "WEB_APP_URL";
var formId = "FORM_ID";
// 获取表单响应数据
var response = e.response;
var editResponseUrl = response.getEditResponseUrl();
// 发送POST请求,将表单响应数据传递给Web应用
var options = {
"method": "post",
"payload": {
"url": editResponseUrl,
"formId": formId
}
};
UrlFetchApp.fetch(url, options);
}
请替换代码中的"WEB_APP_URL"为步骤6中复制的Web应用URL,"FORM_ID"为当前Google表单的ID,该ID可以从表单编辑器的URL中获取。
现在,每当有新的Google表单响应提交时,脚本将自动获取响应数据并填充到Google工作表模板中,并将填充后的工作表模板复制到目标工作表中。
领取专属 10元无门槛券
手把手带您无忧上云