Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何发送谷歌电子表格输入,如果有公式则忽略单元格_Javascript - Fatal编程技术网

Javascript 如何发送谷歌电子表格输入,如果有公式则忽略单元格

Javascript 如何发送谷歌电子表格输入,如果有公式则忽略单元格,javascript,Javascript,单击提交时,我希望输入表单将数据发送到列A、B、E和F 因为在C列和D列中有公式。。 有人能帮我吗。。 谢谢 来源:作为一种快速解决方案,您可以更改代码中的函数processForm()。gs: //PROCESS FORM function processForm(formObject){ var sheet = SpreadsheetApp.getActiveSheet(); // set first two cells (columns A and B) of the last

单击提交时,我希望输入表单将数据发送到列A、B、E和F 因为在C列和D列中有公式。。 有人能帮我吗。。 谢谢


来源:

作为一种快速解决方案,您可以更改代码中的函数
processForm()
。gs:

//PROCESS FORM
function processForm(formObject){ 
  var sheet = SpreadsheetApp.getActiveSheet();
  // set first two cells (columns A and B) of the last row
  sheet.appendRow([formObject.first_name, formObject.last_name]);
  // fil cell #4 (column D) in the row
  sheet.getRange(sheet.getLastRow(),4).setValue(formObject.email);
}
同样,您可以将公式放入单元格#3(C列)。我相信还有更好的解决方案,这取决于你的目标


函数的更新版本。要在表中“a”列中第一个非空单元格后插入新单元格,请执行以下操作:

//PROCESS FORM
function processForm(formObject){ 
    var sheet = SpreadsheetApp.getActiveSheet();           // get sheet        
    var col   = sheet.getRange("A:A").getValues();         // get column A
    var row   = col.findIndex(c => c[0] == "") + 1;        // get the row num
    sheet.getRange(row,1).setValue(formObject.first_name); // set cell 1
    sheet.getRange(row,2).setValue(formObject.last_name);  // set cell 2
    sheet.getRange(row,4).setValue(formObject.email);      // set cell 4
}

谢谢你的回答。但现在还有一个问题(见图1)

在pic1中,点击提交时,不填写第3行数据

我想要的结果如图2所示

单击“提交”时,数据结果显示在第3行
下一次提交,第4行的数据结果
下一次提交,第5行的数据结果

etc

当然,方法
appendRow
在现有表的末尾添加行。如果需要在表中添加行(例如在“A”列的末尾),则必须使用另一种方法。需要获取范围“A:A”,才能找到最后一个非空单元格并将数据插入下一行。我会告诉你怎么做的。@Yuri Khristich,完成了。无论如何,谢谢你的功能。我在谷歌上寻找答案已经5天了。。。最后谢谢兄弟