我有一个奇怪的问题,关于在链接的表格的哪一行谷歌表格放置一个新的表格行。通常,每次表单提交都会向工作表中添加一行,从第2行开始(第1行是标题)。如果我删除了工作表中的所有行,表单提交将在第2行重新启动,正如预期的那样。但是,现在假设我手动填充表单的前10行(同样,将第1行保留为标题,因此第2-11行)。现在,当我进行表单提交时,我希望添加第12行,依此类推,但实际上,表单从第2行开始,并清除我预先填充的行数据。表单和工作表似乎有一个内部的“下一行编号”,而不是基于工作表的实际内容。有没有人能在这一点上有所启发?
发布于 2018-11-01 06:12:23
我遇到了同样的问题。并找到了解决方案(经过2个小时的挖掘,问题在哪里)
首先需要使用函数sheet.insertRowsBefore(rowIndex, numberOfRowsToBeInserted)
为您的数据创建新的行(空间),然后将您的数据添加到这些创建的行中。当然,你也可以在google sheets中手动添加新行--它的工作原理是一样的。
说明:有一个内部表单属性,它持有一个行索引,在这里新的表单提交将在表单提交之后进行。
当您只填充数据时,新表单提交的索引将保留在以前的位置,因此它会在单元格中重写您的(任何)数据。
删除行数据时会有类似的行为-如果您只删除值(通过delete键删除。例如),则当出现新的表单提交时,将保留为空行。同样,您需要使用函数sheet.deleteRow( index )来删除数据,并为新提交更改新行的索引。
发布于 2015-08-26 23:14:00
听起来您似乎是在使用getActiveCell()
或getActiveRange()
方法来查找最后一行。然而,您应该使用getDataRange()
方法来获取最后一行和最后一列。getActiveCell()
或getActiveRange()
方法指向电子表格上光标的位置。因此,如果它当时在第1- Col2行,它就会在那里插入你的信息。有关详细信息,请参阅此documentation。
https://stackoverflow.com/questions/32210037
复制相似问题