当前位置: 首页 > 知识库问答 >
问题:

如何使用PHP版本的Google Sheet API v4合并单元格

曾歌者
2023-03-14

我已经按照快速入门指南成功设置了我的凭据和访问权限

一切工作伟大,我成功地尝试:

  • 更新电子表格标题
  • 在每个单元格中读/写值

但是,在尝试合并某些单元格时,我不断遇到以下错误:

致命错误:未捕获Google_Service_Exception:{"错误":{"代码": 400,"消息":"收到无效的JSON有效负载。未知的名称\"merge_type\"在请求:无法找到字段。\n收到无效的JSON有效载荷。未知的名称\"范围\"在'请求':找不到字段.","错误": [ { "消息":"收到无效的JSON有效载荷。未知的名称\"merge_type\"在请求:无法找到字段。\n收到无效的JSON有效载荷。未知名称\"范围\"在"请求":找不到字段.","域":"全局","原因":"badRequest" } ], "状态":"INVALID_ARGUMENT"}}

源代码:

<?php

include_once(__DIR__.'/vendor/autoload.php');
include_once(__DIR__.'/client.php');

$id_spreadsheet = '12xymzMe8OLbX9vw84'; // My spreadsheet ID (redacted for Stackoverflow)

/* Retrieve the API access */
$service = new Google_Service_Sheets(getClient());

/* Merge header columns */
$range = new Google_Service_Sheets_GridRange();
$range->setStartRowIndex(0);
$range->setEndRowIndex(1);
$range->setStartColumnIndex(1);
$range->setEndColumnIndex(24);
$range->setSheetId(0);

$request = new Google_Service_Sheets_MergeCellsRequest();
$request->setMergeType('MERGE_COLUMNS');
$request->setRange($range);

$batchUpdateRequest = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(['requests' => $request]);
$response = $service->spreadsheets->batchUpdate($id_spreadsheet, $batchUpdateRequest);
echo '<pre>', var_export($response, true), '</pre>', "\n";

共有1个答案

陆正奇
2023-03-14

如果您还没有解决这个问题,问题就在您发送的请求中,请尝试在Google_Service_Sheets_BatchUpdateSpreadsheetRequestset请求方法中设置您的请求

$batchUpdateRequest = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
$batchUpdateRequest->setRequests($request);
$response = $service->spreadsheets->batchUpdate($id_spreadsheet, $batchUpdateRequest);
echo '<pre>', var_export($response, true), '</pre>', "\n";
 类似资料:
  • 我要做一个垂直合并使用这个函数: 但我不能用类似的函数进行水平合并: 谢谢!

  • 我有一个将两个pdf合并成一个pdf的问题。我正在使用FPDF FPDI,还尝试了TCPDF FPDI,但在使用pdf版本时遇到了问题 我不想使用fpdi的商业插件。是否有任何工作可以使用pdf 注意:我正在使用codeigniter 谢谢你。

  • 我有一个对象列表,我试图为每个对象指定三行,我使用的"Office Open Xml库"有以下例程: 然而,它弹出一个错误,说不能合并已经合并的单元格。 所以问题是如何在Excel中合并两个以上的单元格?

  • 在poi中创建一个表非常简单,但它的教程非常有限,我找不到一个可以在生成docx文件时在表中创建简单合并单元格的教程。

  • 我无法获取以下错误:错误:任务“:app:processDebugManifest”的执行失败。 清单合并失败:使用sdk:minSdkVersion 15不能与库中声明的版本L不同/通用域名格式。Android支持/回收视图-v7/21.0。0-rc1/AndroidManifest。xml 下面是我的 使用 不再工作了。 我看过这个。解决方案建议在中放置以下代码 但我有一个错误 无论我把代码放

  • mergeCells(string $scope, string $data [, resource $formatHandler]): self string $scope $excel->fileName("test.xlsx") ->mergeCells('A1:C1', 'Merge cells') ->output();