复制 Google Sheet 覆盖现有 FileID

问题描述 投票:0回答:1

我有一个被很多人使用的谷歌电子表格。
有时我会添加新功能。 为此,我创建了一个测试副本,对其进行修改,直到我们都满意为止。 然后,我必须记住我所做的所有更改,并对实时电子表格重新进行更改。 这可能是任何东西;数据、公式、工作表、格式、条件格式、验证、命名范围或 Apps 脚本(易于复制)。 我愿意:

  • 将原始文件A复制到文件B。
  • 修改fileB直到我满意为止
  • 用文件B的内容覆盖文件A

我需要覆盖它,以便每个人的现有链接仍然有效。 我尝试过使用 DriveApp:


    var f1=DriveApp.getFileById(fileA);
    var f2=DriveApp.getFileById(fileB);
    f2.setContent(f1.getBlob());

我也尝试过使用 Drive v3 API:


    var f1=Drive.Files.get(fileA);
    var t1=Drive.Files.export( fileA, f1.getMimeType(),{alt:'media'});
    Drive.Files.update({title: f1.title, mimeType: f1.getMimeType ()}, fileB, t1);

您可以在现有电子表格上复制电子表格而不更改文件 ID 吗?

google-sheets google-apps-script google-drive-api
1个回答
0
投票

Google 文档编辑器文件格式(包括 Google Sheets 电子表格)无法像其他文件格式一样处理,最糟糕的是,Google Apps 脚本电子表格服务甚至 Google Sheets API 并不支持所有功能。

您最好的机会是将工作表从 fileB 复制到 fileA,但是,如果文件 B 不使用不受支持的功能,您可以将脚本设置为覆盖每个工作表的内容。

© www.soinside.com 2019 - 2024. All rights reserved.