将本地 Excel.xlsx 文件转换为 Google 电子表格 Google DRIVE API

铃木一郎

我正在尝试使用本地 Excel 文件中存在的所有现有设计、格式和公式转换本地 Excel.xlsx 文件。如何使用带有 PHP 的 Google API 做到这一点?我正在做但没有工作的是:

    $client = new \Google_Client();
    $client->setApplicationName('Name');
    $client->setScopes([\Google_Service_Drive::DRIVE]);
    $client->setAccessType('offline');
    $client->setAuthConfig($_SERVER['DOCUMENT_ROOT'] . '/credentials.json');
    $service = new Google_Service_Drive($client);

    $fileID = '';
    $path = $_SERVER['DOCUMENT_ROOT'] . '/includes/files/';
    $fileName = 'MAIN.xlsx';//this is the file I want to convert to Google sheet
    $filePathName = $path.$fileName;

    $mimeType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
    $file->setMimeType($mimeType);

    $createdFile = $service->files->copy($file, array(
        'data' => $filePathName,
        'mimeType' => $mimeType,
        'convert' => true,
    ));

但这行不通。我应该如何纠正?

Tanaike

我相信你的目标如下。

  • 您想将 XLSX 文件从本地 PC 上传到 Google 文档。
  • 上传 XLSX 文件后,您希望将其转换为 Google 电子表格。
  • 您想使用 googleapis for PHP 来实现这一点。

改装要点:

  • 在您的脚本中,使用了“文件:复制”的方法。此方法复制 Google Drive 上的文件。所以我认为这不能用于实现您的目标。我认为这就是你的问题的原因。
  • 根据您的错误消息,我认为您可能正在使用 Drive API v3。我想这可能也是你的问题的原因。

从以上几点,当你的脚本被修改时,它变成如下。

修改后的脚本:

$service = new Google_Service_Drive($client); // Please use your $client here.

$path = $_SERVER['DOCUMENT_ROOT'] . '/includes/files/';
$fileName = 'MAIN.xlsx';//this is the file I want to convert to Google sheet
$filePathName = $path.$fileName;

$file = new Google_Service_Drive_DriveFile();
$file->setName('MAIN.xlsx');
$file->setMimeType('application/vnd.google-apps.spreadsheet');
$data = file_get_contents($filePathName);
$createdFile = $service->files->create($file, array(
    'data' => $data,
    'uploadType' => 'multipart'
));
printf("%s\n", $createdFile->getId());

笔记:

  • 在这个修改后的脚本中,假设您已经能够使用 Drive API 获取和取出 Google Drive 的值。请注意这一点。
  • 在此方法中,最大文件大小为 5 MB。请注意这一点。当您要上传大文件时,请使用可续传。参考

参考:

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将 Excel 转换为 Google 电子表格

使用GAS将Google电子表格转换为XLSX或ODS

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

Google Sheets API:创建电子表格或将电子表格移动到文件夹中

将电子表格文件中的工作表复制到 Google Drive 文件夹

尝试将CSV文件导入Google Drive电子表格时出现400错误的请求

使用 PHP API 在 Google Drive 电子表格中对表格进行排序

使用Drive API访问Google Drive电子表格

无法使用python通过Google Drive API下载Google电子表格

如何通过Python中的Google Drive API重命名Google电子表格?

Google脚本+电子表格+打开时将整个表格转换为大写

使用 Java 和 Google Drive API 创建一个空电子表格

将Excel电子表格上传到Google表格

下载 Google 电子表格 Google API PHP

Excel将电子表格转换为html

将Excel电子表格转换为JSON

如何将Excel与Google Docs电子表格同步

附加电子表格中Excel文件列表的Google脚本

使用Python使用Google API将电子表格复制到另一个电子表格

将Keenio Extraction API查询数据解析为Google电子表格

使用Google Appscript将数据从API提取到电子表格

使用Google云端硬盘API从文件夹下载电子表格

如何使用Google Spreadsheet API在电子表格文件中插入超链接

如何通过Python API使用Google Drive v3 API限制编辑者共享电子表格?

使用Google Sheets API公开电子表格?

使用 google 电子表格 api 转义文本

Google 电子表格脚本:UrlFetchApp 将字符串上传为文件

将一个Json文件逐格写入Google电子表格

将 n 个 Google 电子表格文件合并到 n 个工作表