【发布时间】:2017-05-16 21:11:55
【问题描述】:
没有设置为使用适当的 SQL 数据库或任何东西,所以使用谷歌表格。 我一直在尝试避免 importrange,因为我有大量数据不断更新,并且每天都会向表单响应添加更多行。 Importrange 经常因“importrange internal server error”而失败
我发现这个很棒的代码可以从一个源电子表格复制到另一个(作为静态文本),这样我就可以进一步操作数据:
function CopyTaskSource() {
var sss = SpreadsheetApp.openById('1OPnw_7vTCFkChy8VUKhAG5QRhcpKnDbmod0ZxjG----'); //replace with source ID
var ss = sss.getSheetByName('TASK Status'); //replace with source Sheet tab name
var range = ss.getRange('E:L'); //assign the range you want to copy
var data = range.getValues();
var tss = SpreadsheetApp.openById('1T3tqsHvKxuulYxDnaR3uf-wjVdXwLHBcUgI7tgN----'); //replace with destination ID
var ts = tss.getSheetByName('TaskSource'); //replace with destination Sheet tab name
ts.getRange(1, 1, data.length, data[0].length).setValues(data); //you will need to define the size of the copied data see getRange()
}
现在它复制了大约 15,000 行数据,我预计我最终会得到 50,000 行数据(而其他一些工作表会达到 27 列)。
我开始收到此服务错误:电子表格第 9 行(代码的最后一行)。
有人可以告诉我一种将批量数据传输到多个 Google 电子表格文件的解决方法吗?
importrange 效果不佳,我有一些 Google 表单,我需要结合源响应来操作数据以输出可呈现的电子表格。
谢谢
【问题讨论】:
-
我认为问题是您超出了每个 spreadsheet 允许的单元格数量限制
-
您好,我已经数过了,在这种情况下,它远低于 200 万个细胞的限制。这就是为什么我试图将源数据复制到其他工作表以进一步操作,否则在尝试将更多信息全部添加到一张工作表时,我会超出原始表单响应的限制..
-
200,000 而不是 200 万!
-
标签应该是关于核心问题的。在这种情况下,来自 Google 表单或任何其他来源的合并数据看起来没有任何区别。
-
@Jack Brown 线程和限制已经过时了,the current limit is 2 Million
标签: google-apps-script google-sheets