【问题标题】:What is the most efficient way to convert a .XLS to Google Sheets in App Script?在 App Script 中将 .XLS 转换为 Google 表格的最有效方法是什么?
【发布时间】:2019-05-19 20:22:09
【问题描述】:

我每周都会自动将 .XLS 文件下载到 Google 云端硬盘。 我想每周自动将最新下载的 .XLS 文件转换为 Google 表格格式。

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

【问题讨论】:

  • 您能提供您当前的脚本吗?因为我认为您的脚本可能已经是将 XLSX 格式转换为 Google 电子表格的最有效方法。我可以问你要转换的文件的数量和最大文件大小吗?这些信息对于创建高效脚本很重要。
  • 文件大小通常为60KB。目前我在这里使用解决方案:stackoverflow.com/questions/49246890/…
  • 感谢您的回复。我为我糟糕的英语杀戮道歉。我也可以问你要转换的文件数量吗?你能更新你的问题,包括信息吗?顺便问一下你正在使用的线程的示例脚本的问题吗?
  • 每周只需要转换一个60KB的文件。示例脚本正在运行,只是认为可能有一个较短版本的代码具有相同的效果......
  • 感谢您的回复。我以为我能正确理解你的情况。所以我提出了一个示例脚本作为答案。你能确认一下吗?此示例脚本适用于上述情况。如果我误解了您的问题并且这不是您想要的结果,我深表歉意。

标签: google-apps-script google-sheets


【解决方案1】:

这样的事情对你有用吗?


  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/

【讨论】:

  • 谢谢,尝试测试,但如何定义文件所在的文件夹?
【解决方案2】:
  • 您想将一个.xls 文件转换为Google 电子表格。
    • .xls 文件的文件大小为 60 KB。
    • .xls 文件放在特定文件夹中。
  • 您希望将转换后的 Google 电子表格与 .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

参考资料:

【讨论】:

  • @Petrus 感谢您的回复。很高兴您的问题得到解决。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-29
  • 2020-01-15
  • 2013-03-29
  • 1970-01-01
  • 2018-11-30
相关资源
最近更新 更多