gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 01:55:28 24 4
gpt4 key购买 nike

我想使用 Google Apps 脚本将特定行从一个电子表格复制到另一个电子表格。

任何人都可以帮我得到这个问题的答案。

最佳答案

注意: 此解决方案适用于将同一电子表格中的一个工作表中的行复制到另一个工作表,但不适用于将一个工作表中的行复制到不同的电子表格中。

在此处查看文档:

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");

现在,Google Apps 电子表格使用的概念是范围。范围只是一大块单元格。所以我们需要确定起始范围和终止范围。假设您的工作表有 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 - 如何使用谷歌应用程序脚本将一行从一个谷歌电子表格复制到另一个谷歌电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4509336/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com