Какой самый эффективный способ конвертировать .XLS в Google Sheets в App Script? - PullRequest
1 голос
/ 19 мая 2019

Я автоматически загружаю файл .XLS на диск Google еженедельно. Я хотел бы автоматически конвертировать последний загруженный файл .XLS каждую неделю в формат листов Google.

Таким образом, перейдите в определенную папку на диске Google. Найдите последний или не преобразованный файл .XLS. Преобразовать в формат листов Google и сохранить в той же папке.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019
  • Вы хотите преобразовать один .xls файл в таблицу Google.
    • Файл .xls имеет размер 60 кБайт.
    • Файл .xls помещается в определенную папку.
  • Вы хотите поместить преобразованную электронную таблицу Google в одну папку с файлом .xls.
  • Вам нужен простой сценарий для этой ситуации.

Если мое понимание верно, как насчет этого примера сценария? В этом примере сценария файл .xls преобразуется методом files.copy в Drive API v2.

При использовании этого сценария включите Drive API в Advanced Google Services.

Пример сценария:

var folderId = "###"; // Please set the folder ID including the .xls file.

var files = DriveApp.getFolderById(folderId).getFilesByType(MimeType.MICROSOFT_EXCEL_LEGACY);
if (files.hasNext()) Drive.Files.copy({mimeType: MimeType.GOOGLE_SHEETS, parents: [{id: folderId}]}, files.next().getId());

Примечание:

  • Этот пример сценария предназначен для файла .xls. Если вы хотите использовать файл .xlsx, измените его с MimeType.MICROSOFT_EXCEL_LEGACY на MimeType.MICROSOFT_EXCEL.

Ссылки:

0 голосов
/ 20 мая 2019

Работает ли что-то подобное для вас?


  try {

    fileName = fileName || "microsoft-excel.xlsx";

    var excelFile = DriveApp.getFilesByName(fileName).next();
    var fileId = excelFile.getId();
    var folderId = Drive.Files.get(fileId).parents[0].id;  
    var blob = excelFile.getBlob();
    var resource = {
      title: excelFile.getName(),
      mimeType: MimeType.GOOGLE_SHEETS,
      parents: [{id: folderId}],
    };

    Drive.Files.insert(resource, blob);

  } catch (f) {
    Logger.log(f.toString());
  }

}

благодаря ctrlq.org/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...