将值和公式从一个电子表格复制到另一个电子表格

时间:2018-06-07 15:56:50

标签: google-apps-script google-sheets

我有一个模板电子表格及其多个副本。我需要能够更新模板电子表格的表格(无论是值或公式),并快速反映所有电子表格副本中的这些变化。

障碍是:

  1. copy方法在这种情况下不起作用,因为它只能在同一个电子表格中使用 ;
  2. 复制整张图纸也不起作用,因为它会破坏图表(添加新图纸,删除旧图纸,重命名新图纸);
  3. 我尝试使用getValuesgetFormulas,然后使用以下代码来补充另一个:

    var combined = []
    for (cell in templateValues) {
      var row = [];
      if (templateValues[cell] == '') {
        row.push(templateFormulas[cell])
      } else {
        row.push(templateValues[cell])
      }
      combined.push(row);
    }
    Logger.log(combined)
    

    然后使用

    var targetRange = targetSheets[sheet].getRange(1, 1, combined.length, combined[0].length);
    targetRange.setValues(combined);
    

    粘贴值。这没用(价值没有粘贴在正确的地方,也没有公式)。

    有什么想法吗?

    编辑:为了清晰起见,请附上一些示例电子表格。

    Source SpreadsheetTarget Spreadsheet

    同样,重点是我可以将源电子表格的“SameSheet”表格中的所有内容复制到目标电子表格的“SameSheet”表格中(在实际用例中,它是具有多个目标电子表格的Drive文件夹)。

0 个答案:

没有答案