我在Google Drive中存储了一个.xls文件。我想从谷歌应用程序脚本将其转换为谷歌表格电子表格文件格式。有没有办法在没有外部解决方案的情况下做到这一点?
现在可以使用高级驱动器服务:
https://developers.google.com/apps-script/advanced/drive
使用Drive.Files.insert时,只需将可选参数"convert"设置为"true"即可。
var file = {
title: 'Converted Spreadsheet'
};
file = Drive.Files.insert(file, xlsxBlob, {
convert: true
});
这也是从上面给出的问题
除了使用交付的"上传"和转换功能外,它目前还不可用。在此处请求增强请求:http://code.google.com/p/google-apps-script-issues/issues/detail?id=1019
以下是在特定文件夹中创建文件的完整代码:(这是一个暗示,但在@ben visness评论中对我来说并不完全明显)
var file = {
"title": filename,
"parents": [{"id": folderId}]
};
file = Drive.Files.insert(file, blobObj, {
"convert": true
});
注意:这需要从Google应用程序脚本-菜单>资源>高级Google服务和功能表>资源>先进Google服务>Google API控制台中启用高级驱动器服务。
以下是我用来将Excel文件转换为Google Sheets文件的代码,该文件具有相同的名称和文件夹。
var excel = DriveApp.getFileById(...);
var resource = {
title : excel.getName(),
mimeType : MimeType.GOOGLE_SHEETS,
parents: [{id : folder.getId()}],
}
Drive.Files.insert(resource, excel.getBlob());
在我的情况下,我已经有了一个folder
对象,它代表了我想将图纸保存到的文件夹,但您可以使用excel.getParents()
轻松地获得原始文件的文件夹。
您还必须启用名为";驱动API";以便使用CCD_ 3。点击此处阅读更多信息。
解决方案最初源自本文。