【问题标题】:Copying range of data from one spreadsheet to another deletes data from destination将数据范围从一个电子表格复制到另一个电子表格会从目标中删除数据
【发布时间】:2015-09-16 05:19:31
【问题描述】:

最终目标是每 10-15 分钟成功地将一系列单元格从一个电子表格复制到另一个电子表格。这些单元格通过 Drive API 由外部脚本填充。

问题是当脚本运行时,它只是删除了目标范围内的所有数据,这对我来说毫无意义!!

function ExportHourlyCitizenData() {
  var ssSource = SpreadsheetApp.openById("1kDupxE8csxYibYz-cfzkhzehwzTQGjFXOlCU3bJNUIg");
  var sheet = ssSource.getSheetByName("Hourly Citizen Capture");
  var ssDest = SpreadsheetApp.openById("1tMAP0fg-AKScI3S3VjrDW3OaLO4zgBA1RSYoQOQoNSI");
  var sheetDest = ssDest.getSheetByName("Hourly Citizen Capture");
  // Grabs the source range, some of the grabbed cells are empty..
  var rangeSource = ssSource.getRange("B70:Z168");
  var dataSource = rangeSource.getValues();
  // sets the destination cells.
  sheetDest.getRange("B85:Z183").setValues(dataSource);
}; 

所以这个想法很简单,但是我在这里搞砸了一些东西。我正在移动一组大小合适的数据,所以也许还有更有效的方法?

编辑:我尝试使用 importrange,但问题是当我通过驱动器 api 将数据推送到电子表格时它没有更新,这是一个严重的问题。

【问题讨论】:

    标签: google-apps-script google-apps google-spreadsheet-api


    【解决方案1】:

    这可能是问题:

    var rangeSource = ssSource.getRange("B70:Z168");
    

    使用源数据表变量 sheet 而不是电子表格变量 ssSource

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-20
      • 1970-01-01
      • 2019-08-22
      • 1970-01-01
      • 2010-10-30
      • 1970-01-01
      相关资源
      最近更新 更多