2016-11-04 2 views
0

У меня есть одна электронная таблица с 20 вкладками, но мне очень тяжело ее обрабатывать, поэтому я хотел бы разбить ее на разные листы (файлы)Как разбить один лист с 20 вкладками на отдельные листы (разные файлы)

Если возможно, можете ли вы предложить некоторые скрипты Google Apps, чтобы я мог это сделать?

Надеемся, что имя закладки станет именем нового файла при конвертации.

+0

Добро пожаловать, пожалуйста, ознакомьтесь с [как задать вопрос] (http://stackoverflow.com/help/how-to-ask) –

ответ

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); 
    }; 

    }; 
};