在App Script中将.XLS转换为Google表格的最有效方法是什么?

时间:2019-05-19 20:22:09

标签: google-apps-script google-sheets

我每周自动将.XLS文件下载到Google驱动器。 我想每周自动将最新下载的.XLS文件转换为Google表格格式。

因此转到特定的Google驱动器文件夹。查找最新的或未转换的.XLS文件。转换为Google表格格式并保存在同一文件夹中。

2 个答案:

答案 0 :(得分:0)

这样对您有用吗?


  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 /

答案 1 :(得分:0)

  • 您要将一个.xls文件转换为Google Spreadsheet。
    • .xls文件的大小为60 KB。
    • .xls文件位于特定的文件夹中。
  • 您想将转换后的Google Spreadsheet与.xls文件放在同一文件夹中。
  • 您需要一种用于这种情况的简单脚本。

如果我的理解是正确的,那么该示例脚本如何?在此示例脚本中,.xls文件是通过Drive API v2的files.copy方法转换的。

使用此脚本时,请在高级Google服务中启用Drive API。

示例脚本:

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

参考文献: