如何将已上传的Excel文件转换为Google的电子表格格式?

时间:2014-05-01 14:51:54

标签: google-apps-script google-spreadsheet-api google-drive-realtime-api

我需要将已上传到Google云端硬盘的Excel文件转换为Google的电子表格格式。以编程方式执行此操作的最佳方法是什么?

我找到this post (#15),但我无法弄清楚如何使用此代码。它似乎是用于尚未存储在Drive上的Excel文件。再次上传将是多余的。

3 个答案:

答案 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"