google 应用程序脚本:来自数组的 setValues,取自 google 工作表中的 html 表单 onSubmit
google apps script: setValues from array, taken from html form onSubmit in google sheets
在 Google 表格中,我有一个使用 html 的侧边栏,带有一个在提交时运行 processForm(this) 的表单。该表单是根据 sheet 中的标题创建的,这就是我使用标题从表单中检索值的原因。在我尝试使用 setValues() 之前,代码似乎工作正常。没有错误,但该行似乎没有发生任何事情。请让我知道我可能做错了什么。谢谢
function processForm(formObject) {
var headers = getHeaders();
var newRow = [];
for (var i = 0; i < headers.length; i++) {
newRow.push(formObject["" + headers[i]]); // TODO: convert objects to appropriate formats
}
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(parseInt(formObject.row)+1, 1, 1, headers.length)
Logger.log(JSON.stringify(newRow)); // example output: ["John","Smith","male","6615554109","","example_email@yahoo.com"]
range.setValues(newRow); // values not getting set
}
更改最后一行:
range.setValues([newRow]);
(感谢 Serge insas 的解答!)
在 Google 表格中,我有一个使用 html 的侧边栏,带有一个在提交时运行 processForm(this) 的表单。该表单是根据 sheet 中的标题创建的,这就是我使用标题从表单中检索值的原因。在我尝试使用 setValues() 之前,代码似乎工作正常。没有错误,但该行似乎没有发生任何事情。请让我知道我可能做错了什么。谢谢
function processForm(formObject) {
var headers = getHeaders();
var newRow = [];
for (var i = 0; i < headers.length; i++) {
newRow.push(formObject["" + headers[i]]); // TODO: convert objects to appropriate formats
}
var sheet = SpreadsheetApp.getActiveSheet();
var range = sheet.getRange(parseInt(formObject.row)+1, 1, 1, headers.length)
Logger.log(JSON.stringify(newRow)); // example output: ["John","Smith","male","6615554109","","example_email@yahoo.com"]
range.setValues(newRow); // values not getting set
}
更改最后一行:
range.setValues([newRow]);
(感谢 Serge insas 的解答!)