编程语言
首页 > 编程语言> > javascript – 如何使用谷歌应用程序脚本将行从一个谷歌电子表格复制到另一个谷歌电子表格?

javascript – 如何使用谷歌应用程序脚本将行从一个谷歌电子表格复制到另一个谷歌电子表格?

作者:互联网

你好
我想使用谷歌应用程序脚本将特定行从一个电子表格复制到另一个电子表格.任何人都可以帮我解决这个问题.

解决方法:

查看此处的文档:

http://code.google.com/googleapps/appsscript/service_spreadsheet.html

假设您正在复制的电子表格中工作.

您必须获得当前电子表格和目标电子表格的句柄.您需要获取目标电子表格的ID.细节在那里的链接.

var ss = SpreadsheetApp.getActiveSpreadsheet();
var target = SpreadsheetApp.openById("abc1234567");

接下来,我们需要选择这些电子表格中的特定工作表.假设您的行位于名为“New Stuff”的工作表上,并且您在目标电子表格中有一个名为“Archive”的工作表.

var source_sheet = ss.getSheetByName("New Stuff");
var target_sheet = target.getSheetByName("Archive");

现在,谷歌应用程序电子表格使用的概念是范围.范围只是一大块细胞.所以我们需要确定范围和范围.假设您的工作表有7列,您想要第10行.

var source_range = source_sheet.getRange("A10:G10");
var target_range = target_sheet.getRange("A1:G1");

所以我们将把那一行放在目标表的第一行.现在为实际副本:

source_range.copyTo(target_range);

而且你已经完成了!

现在,这将始终破坏目标表的第一行.你可以做很多事来阻止它.您可以使用工作表对象方法查找最后一行,然后添加一行,然后将其用作范围,而不是始终使用第一行.

var last_row = target_sheet.getLastRow();
target_sheet.insertRowAfter(last_row);
var target_range = target_sheet.getRange("A"+(last_row+1)+":G"+(last_row+1));

这样每次复制一行时,它就会被添加到工作表的底部.

标签:javascript,google-sheets,google-apps-script
来源: https://codeday.me/bug/20190918/1810768.html