You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Google Apps Script实现同类标签合并到同一表格文件

修改Google Apps Script实现同名前缀工作表合并到同一表格文件

原代码是将每个非指定工作表单独存为表格文件,现在调整后可实现按前缀合并的需求:提取工作表名称的核心前缀(去除末尾的Check或Checked后缀),将同前缀的工作表合并到名为[前缀] Summary的表格文件中,处理前先清理目标文件夹内已存在的同名Summary文件。

以下是修改后的完整代码:

function copySheetsToFolder() {
  var ss = SpreadsheetApp.getActive();
  var folderId = DriveApp.getFileById(ss.getId()).getParents().next().getId();
  var sheets = ss.getSheets();
  
  // 按前缀分组工作表
  var sheetGroups = {};
  sheets.forEach(function(sheet) {
    var sheetName = sheet.getName();
    // 跳过指定的控制表和原始数据表
    if (sheetName === 'ControlTab' || sheetName === 'RawData') return;
    
    // 提取核心前缀:忽略大小写去除末尾的Check/Checked
    var prefix = sheetName.replace(/\s+(Check|Checked)$/i, '').trim();
    // 初始化分组容器
    if (!sheetGroups[prefix]) {
      sheetGroups[prefix] = [];
    }
    sheetGroups[prefix].push(sheet);
  });
  
  // 处理每个分组,生成对应Summary表格
  Object.keys(sheetGroups).forEach(function(prefix) {
    var summaryName = prefix + ' Summary';
    // 清理已存在的同名Summary文件
    var existingFiles = DriveApp.getFilesByName(summaryName);
    while (existingFiles.hasNext()) {
      existingFiles.next().setTrashed(true);
    }
    
    // 创建新的Summary表格文件
    var newSS = Drive.Files.insert(
      { 
        title: summaryName, 
        mimeType: MimeType.GOOGLE_SHEETS, 
        parents: [{ id: folderId }] 
      }, 
      null, 
      { supportsAllDrives: true }
    );
    var targetSS = SpreadsheetApp.openById(newSS.id);
    
    // 将分组内的所有工作表复制到新表格
    sheetGroups[prefix].forEach(function(sheet) {
      sheet.copyTo(targetSS).setName(sheet.getName());
    });
    
    // 删除新表格默认生成的空白Sheet1
    targetSS.deleteSheet(targetSS.getSheets()[0]);
  });
}

关键逻辑说明

  • 前缀提取:用正则表达式/\s+(Check|Checked)$/i匹配末尾的Check或Checked(不区分大小写),替换后得到核心前缀,确保Toys Check和Toys Checked会被归为同一组。
  • 工作表分组:通过对象sheetGroups存储每个前缀对应的工作表数组,方便后续批量处理同组工作表。
  • 旧文件清理:创建新表格前,先把目标文件夹内已存在的同名Summary文件移至回收站,避免重复文件干扰。
  • 批量复制:针对每个前缀分组,创建对应Summary表格后,将组内所有工作表一次性复制进去,最后删除默认的空白工作表。

内容的提问来源于stack exchange,提问作者scriptnewb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:27:19