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

如何用Google Apps Script拆分指定Google Sheets标签页为独立文件

Google Sheets 拆分指定标签页为独立文件(支持Inputs标签页配置)

核心实现方案

完全可以通过主文件中Inputs标签页的配置来执行拆分操作,下面是可直接使用的Google Apps Script代码,支持宏调用,同时兼容自定义文件名配置:

function splitSheetsFromInputs() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const inputSheet = ss.getSheetByName("Inputs");
  if (!inputSheet) {
    SpreadsheetApp.getUi().alert("未找到名为'Inputs'的标签页,请检查后重试");
    return;
  }

  // 读取Inputs标签页的配置数据(跳过表头,假设第一行是表头)
  const configData = inputSheet.getDataRange().getValues().slice(1);
  if (configData.length === 0) {
    SpreadsheetApp.getUi().alert("Inputs标签页中没有可处理的配置数据");
    return;
  }

  const parentFolder = DriveApp.getFileById(ss.getId()).getParents().next();

  // 循环处理每个配置项
  configData.forEach(row => {
    const sourceSheetName = row[0];
    const targetFileName = row[1];
    
    if (!sourceSheetName || !targetFileName) {
      SpreadsheetApp.getUi().alert(`配置行存在空值:标签名[${sourceSheetName}] 目标文件名[${targetFileName}],已跳过该行`);
      return;
    }

    const sourceSheet = ss.getSheetByName(sourceSheetName);
    if (!sourceSheet) {
      SpreadsheetApp.getUi().alert(`未找到名为[${sourceSheetName}]的标签页,已跳过该行`);
      return;
    }

    // 创建新的Google Sheets文件
    const newSs = SpreadsheetApp.create(targetFileName);
    const newSheet = newSs.getActiveSheet();
    
    // 复制源标签页的所有数据(含格式)到新文件
    sourceSheet.copyTo(newSs);
    newSs.deleteSheet(newSheet); // 删除默认创建的空白标签页
    
    // 将新文件移动到原文件所在目录
    DriveApp.getFileById(newSs.getId()).moveTo(parentFolder);
    
    SpreadsheetApp.getUi().alert(`已完成拆分:${sourceSheetName} → ${targetFileName}`);
  });
}

使用步骤

  • 配置Inputs标签页:
    • 在主文件中创建名为Inputs的标签页
    • 第一列(A列)填写待拆分的源标签页名称(如Toyota)
    • 第二列(B列)填写对应生成的独立文件名称(如丰田销售数据2024)
    • 第一行可设置表头(如源标签名、目标文件名),脚本会自动跳过表头行
  • 设置宏调用:
    • 打开主文件的脚本编辑器(工具→脚本编辑器)
    • 将上述代码粘贴进去,保存项目(命名如SheetSplitter)
    • 返回主文件,点击「扩展程序→宏→管理宏」
    • 找到splitSheetsFromInputs函数,点击「添加宏」,可设置快捷键(可选)
  • 执行拆分:
    • 直接点击宏列表中的splitSheetsFromInputs,或使用设置的快捷键
    • 脚本会弹出提示框告知每个拆分项的处理结果,完成后可在原文件所在的Google Drive目录下找到生成的独立文件

注意事项

  • 首次执行脚本会要求授权,按提示完成权限申请即可
  • 若目标文件名已存在,Google Drive会自动添加后缀(如(1))避免重名
  • 源标签页的格式、公式会被完整复制到新文件中

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:45:24