【问题标题】:Is possible to copy a data range from one spreadsheet to another?是否可以将数据范围从一个电子表格复制到另一个电子表格?
【发布时间】:2021-08-14 00:43:13
【问题描述】:
function transferDataToDataBase(){
    
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    
    var DB = SpreadsheetApp.openById("SHEET ID");
    
    var SCPM_Input = ss.getSheetByName("Report")[0];
    
    var history_Input = DB.getSheetByName(Database);
    
    var blankRow = history_Input.getLastRow();
    
    SCPM_Input.getRange(("A2:T").copyTo(history_Input.getRange(blankRow+1,1,blankRow+1,20));
    
}

问题:

  1. 最后一行在“;”处有错误,不知道如何解决。它说语法错误;
  2. 似乎 copy To 仅适用于在同一个电子表格中从一张工作表转移到另一张工作表,但不适用于电子表格之间的转移。有没有办法在电子表格之间复制到?

非常感谢。

【问题讨论】:

    标签: google-apps-script copy spreadsheet


    【解决方案1】:

    如果您还想复制格式,则复制整个工作表/选项卡,然后使用 copyTo() 复制范围,然后删除复制的工作表。或者,如果您只想要数据,请使用 getValues() 和 setValues();

    这是问题的一部分:

    var SCPM_Input = ss.getSheetByName("Report")[0]; 因为最后的索引零不应该在那里,并且您不能有 sheet.getLastRow() + 1 工作表中的行数,如下一行所示。

    SCPM_Input.getRange(("A2:T").copyTo(history_Input.getRange(blankRow+1,1,blankRow+1,20));

    并且 copyTo 在电子表格之间不起作用。

    【讨论】:

    • 非常感谢。我已删除 [0],它不再给出错误。
    【解决方案2】:

    有一个更新: 由于数据库将被多个用户使用。我建立了一个独立的数据库。我将我的“报告”工作表从电子表格 1 复制到电子表格 2。它将创建一个工作表“报告副本”。我重命名、复制到数据库工作表并删除它。

    如果有更简单的方法,请随时讨论。谢谢。

    // 将报告传输到数据库电子表格

    函数 transferDataToDataBase(){

    var ss = SpreadsheetApp.getActiveSpreadsheet();

    var db = SpreadsheetApp.openById('电子表格 ID')

    var scpm_Input = ss.getSheetByName("Report");

    scpm_Input.copyTo(db);

    Utilities.sleep(3000);

    db.getSheetByName('报告副本').setName('导入')

    var history_Input = db.getSheetByName('Database');

    var blankRow = history_Input.getLastRow();

    var target = db.getSheetByName('Import');

    target.getRange("A2:T").copyTo(history_Input.getRange(blankRow+1,1,blankRow+1,20));

    history_Input.getRange(blankRow+1,21).setValue(new Date()).setNumberFormat("yyyy-mm-dd h:mm") //更新日期和时间

    db.deleteSheet(目标);

    }

    【讨论】:

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