如何将带有20个标签的单个电子表格拆分为单独的图纸(不同的文件)

时间:2016-11-04 10:48:25

标签: google-apps-script google-sheets google-apps

我有一个包含20个标签的电子表格,但处理起来非常繁重,所以我想把它拆分成不同的表格(文件)

如果有可能,您是否可以推荐一些Google Apps脚本以便我可以设法执行此操作?

希望选项卡名称在转换时成为新文件的名称。

1 个答案:

答案 0 :(得分:0)

这是一个应该有效的脚本。默认情况下,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);
    };

  };
};