我需要将已上传到Google云端硬盘的Excel文件转换为Google的电子表格格式。以编程方式执行此操作的最佳方法是什么?
我找到this post (#15),但我无法弄清楚如何使用此代码。它似乎是用于尚未存储在Drive上的Excel文件。再次上传将是多余的。
答案 0 :(得分:2)
很遗憾,您无法就地转换文件,因此您需要重新上传文件。这是一个示例,说明如何使用驱动器中已有的XLSX文件:
function convert(xlsxFileId) {
var xlsxBlob = DriveApp.getFileById(xlsxFileId).getBlob();
var file = {
title: 'Converted Spreadsheet'
};
file = Drive.Files.insert(file, xlsxBlob, {
convert: true
});
}
答案 1 :(得分:2)
对于那些偶然发现的人:Drive API v2& V3。 Python示例:
API v2:
drive_service_v2.files().copy(body=body, fileId="0n3xrtmjFpuG3V1g3h24tVHM2a33", convert="true").execute()
API v3:
new_mime_type = "application/vnd.google-apps.spreadsheet"
file_id_of_Excel_file = "0n3xrtmjFpuG3V1g3h24tVHM2a33"
body = {'name': 'New File Name', 'mimeType': new_mime_type}
drive_service.files().copy(body=body, fileId=file_id_of_Excel_file).execute()
答案 2 :(得分:1)
在 Google Driver V3 API 中,只需设置MimeType
。
File file = new File();
file.MimeType = "application/vnd.google-apps.spreadsheet"