我正在为具有大量数据计数(20,000 * 50)的工作表运行一个setValues()函数,因此我批量地完成了数据处理,然后使用setValues()函数立即更新工作表,但是该函数正在以类似于(x * 50)顺序的方式更新数据,因此我想知道在使用该函数时一次性更新的最大单元格的限制。
发布于 2022-01-25 08:56:00
当使用setValues
将值放入工作表时,首先保留单元格,然后将值放到单元格中。当我测试了使用setValues
值的最大单元数时,可以放置2,625,000个单元。但是,当我测试了2,635,000个细胞时,Exceeded maximum execution time
出现了一个错误。所以在那个时候,我发现最大的细胞在2,625,000到2,635,000个之间。顺便说一句,当测试4,000,000个单元时,发现4,000,000个单元格被保存在目标表中,而值却不能被放入。这是我所处环境的结果。
所以,在20,000 * 50
的例子中,我认为100万个细胞可以与setValues
一起放置。但我担心,当这些数据与setValues
放在一起时,处理成本会很高。例如,在脚本完成并检查了工作表之后,我被要求等待将值完全放入。我想这可能是你出问题的原因。
在这种情况下,当使用Sheets而不是电子表格服务(SpreadsheetApp
)将值放入工作表时,可以消除这样的问题。参考
从上面的情况来看,在您的情况下,作为一种解决方法,如何使用Sheets而不是电子表格服务的setValues
来设置值?
参考资料:
发布于 2022-01-25 08:49:52
setValues()
没有直接最大值,但您可能需要考虑以下三点:
setValues()
完成执行之前超时。在这3个限制中,您可以通过一个setValues()
调用设置的值的数量很可能受到脚本执行时间的限制。
https://stackoverflow.com/questions/70844308
复制相似问题