Google Apps脚本,将一个电子表格复制到另一个带格式的电子表格

use*_*591 14 google-sheets google-apps-script

希望这个问题尚未得到解答.我花了相当多的时间搜索,虽然我找到了类似的帖子,但没有一个完全符合我的要求.

我想使用Google Apps脚本将单个工作表从Google电子表格复制到另一个Google电子表格中,我希望保留格式(包括合并的单元格).有没有办法做到这一点?我尝试了以下功能:

copyTo()copyFormatToRange()

但这些方法仅在同一电子表格中工作,不允许在不同的电子表格之间复制数据.有没有人有什么建议?谢谢!

tra*_*on6 20

你看过这里:

https://developers.google.com/apps-script/reference/spreadsheet/sheet#copyTo(Spreadsheet)

CopyTo从(电子表格)

将工作表复制到另一个电子表格.目标电子表格可以是来源.新电子表格的名称为"[原始电子表格名称]的副本".

 var source = SpreadsheetApp.getActiveSpreadsheet();

 var sheet = source.getSheets()[0];

 var destination = SpreadsheetApp.openById("ID_GOES HERE");

 sheet.copyTo(destination);
Run Code Online (Sandbox Code Playgroud)

  • 我刚刚测试了代码,它可以工作。(1) copyTo() 执行复制格式,包括合并的单元格和 (2) 它在电子表格之间工作(请参阅以“var destination =”开头的代码行)。为了消除多电子表格问题,您可以编写脚本以便删除旧工作表,复制新工作表,然后重命名新工作表。每次都需要将数据复制到同一目标电子表格中是否有特定原因? (3认同)
  • 不幸的是,方法 copyTo() 不复制格式,或者至少不复制单元格。此外,我需要在接下来的几个月内多次调用此副本,并且我不希望每次制作副本时目标电子表格中都有一个新工作表。我希望每次都将数据从源电子表格复制到同一个目标电子表格中。另外,我不相信 copyTo() 允许您在电子表格之间进行复制,只能在单个电子表格中的工作表之间进行复制。 (2认同)