您如何将超过1000行复制到新的Google表格中?

时间:2019-06-26 15:43:56

标签: javascript google-sheets

我有一些代码可以从另一个文件中的源工作表中提取一系列数据,并将其复制到当前文件中的新工作表中。它曾经可以工作,但是现在源范围超过1000行,该复制完全失败且没有错误(该复制不会发生,并且代码会继续前进)。似乎是因为我的目标工作表只有1000行,并且尝试复制大于该行的内容会导致它失败。

“执行记录”并没有使我了解它为什么失败。作为测试,我将源数据缩短到少于1000行,然后再次工作。

我复制范围的代码块如下:

// COPY DATA FROM SOURCE SPREADSHEET TO TEMP SHEET IN ACTIVE SPREADSHEET  
var SRange = source_s.getDataRange();      
var A1Range = SRange.getA1Notation();  
var SData = SRange.getValues();  
temp_s.getRange(A1Range).setValues(SData);  

temp_s 是目标表。 source_s 是源工作表。

我想两种解决方案都可以,所以我可以将1000多行复制到我的目标表中:

  1. 使用一种复制功能,该功能将自动调整图纸的大小以处理范围的大小,或者
  2. 找到一种在复制之前扩展工作表尺寸的方法,类似于通常在Google工作表底部看到的“在底部增加1000行”功能。

1 个答案:

答案 0 :(得分:0)

我将其发布为评论,但也应该作为答案。

我已经将目标表上的范围声明为"A:J",它将选择这两列的所有行。实际上就是A1:J1000。如果您的源少于1000行,那行得通,但是一旦源大于目标行,它就会失败。

要解决这个问题,我使用lastrow = source_s.getLastRow()找到了源数据的最后一行,然后将目标范围命名为"A1:+J"+lastrow。复制有效。