如何将带有 20 个标签的单个跨页 sheet 拆分为单独的 sheet(不同的文件)

How to split a single spread sheet with 20 tabs into separate sheets(different files)

我有一个包含 20 个选项卡的电子表格,但处理起来非常繁重,所以我想将它分成不同的工作表(文件)

如果可能的话,您能否推荐一些 Google Apps 脚本,以便我能够做到?

希望标签名称在转换时成为新文件的名称。

这是一个应该有效的脚本。 toFolderName 默认为空白,因此您的文件将保存到您的根文件夹。如果输入唯一的文件夹名称,文件将被复制到该文件夹​​。我建议从这里开始,虽然这是一个非常慢的脚本,20 个标签应该需要一分钟多一点。

function migrateSheetsToFiles() {
  var mySheets = SpreadsheetApp.getActiveSpreadsheet().getSheets();
  var toFolderName = '';
  var i;
  for(i in mySheets){
    var currentSheet = mySheets[i];
    var oldData = currentSheet.getDataRange().getValues();
    var newFile = SpreadsheetApp.create(currentSheet.getName());
    var newId = newFile.getId();
    var newSheet = newFile.getSheets()[0]

    newSheet.getRange(1,1,oldData.length,oldData[0].length).setValues(oldData);
    newSheet.setName(newFile.getName());

    if(toFolderName != ''){
      var fileInDrive = DriveApp.getFileById(newId);
      fileInDrive.makeCopy(fileInDrive.getName(),DriveApp.getFoldersByName(toFolderName).next());
      fileInDrive.setTrashed(true);
    };

  };
};