如何使用谷歌应用程序脚本将3个谷歌电子表格中的特定行复制到另一个电子表格中

How to copy specific rows from 3 google spreadsheet to another spreadsheet using google apps script

本文关键字:谷歌 电子表格 复制 另一个 脚本 3个 何使用 应用程序      更新时间:2023-09-26

我有一个名为Main电子表格的电子表格,其中有4个名为sheet1、sheet2、sheet3&后果我想将条件数据从表1、表2、表3复制到结果表。有人能帮我吗????

这是我的代码:

  var ss = SpreadsheetApp.openById(DATA_SPREADSHEET_ID);
  var sheet = ss.getSheets()[3];
  var dataSs = SpreadsheetApp.openById(DATA_SPREADSHEET_ID);
  var dataSheet = dataSs.getSheets()[0];
  // Fetch all the data
  var data = getRowsData(dataSheet);
  // This is the data we want to display
  var columnNames = ["Name", "AC link", "Type"];
  // Index data by type
  var dataBytype = {};
  var types = [];
  for (var i = 0; i < data.length; ++i) {
    var rowData = data[i];
    if (!dataBytype[rowData.type]) {
      dataBytype[rowData.type] = [];
      types.push(rowData.type);
    }
    dataBytype[rowData.type].push(rowData);
  }
  types.sort();
  var headerBackgroundColor = dataSheet.getRange(1, 1).getBackgroundColor();
  for (var i = 0; i < types.length; ++i) {
    var sheet = ss.getSheetByName(types[i]) || 
        ss.insertSheet(types[i], ss.getSheets().length);
    sheet.clear();
    var headersRange = sheet.getRange(1, 1, 1, columnNames.length);
    headersRange.setValues([columnNames]);
    headersRange.setBackgroundColor(headerBackgroundColor);
    setRowsData(sheet, dataBytype[types[i]]);
  }

}

它当前从sheet1复制数据,并按类型列

制作新的sheet

在这个论坛和旧论坛上有几十个类似的问题和答案。。。快速搜索可以帮助你找到你要找的东西。