Ran*_*ani 8 google-spreadsheet-api google-sheets-api
我正在使用Google表格V4 附加API将数据插入到新创建的工作表中.我插入1000行和1001列的数据,即1001000个单元格.
String url = https://sheets.googleapis.com/v4/spreadsheets/<spreadSheetId>/values/<workSheetName>!A1:append?access_token=<accessToken>&valueInputOption=USER_ENTERED&insertDataOption=INSERT_ROWS
//CREATING THE REQUEST BODY
reqBody.put("range", <workSheetName>+"!A1");
reqBody.put("majorDimension", "ROWS");
reqBody.put("values", <values>);
Run Code Online (Sandbox Code Playgroud)
我收到400 Bad Request消息:"此操作会使工作表中的单元格数量增加到超过2000000个单元格的限制."
我知道谷歌每张纸有200万个单元格限制,但我无法找出为什么我得到这个例外,特别是因为我没有超出限制.
有关为什么会出现此错误的任何帮助?
谷歌似乎会计算已经存在的单元格,即使它们是空白的,即使是在全新的电子表格中。解决方案是先擦除这些列。您可以手动选择一列,右键单击,然后选择删除。
使用 API,您需要deleteDimension - 这是一个 PHP 示例:
new Google_Service_Sheets_Request([
"deleteDimension" => [
"range" => [
"sheetId" => $sheetId,
"dimension" => "COLUMNS",
"startIndex" => 1,
"endIndex" => 26
],
],
]);
Run Code Online (Sandbox Code Playgroud)
笔记:
Google 有不寻常的语法来指示范围 - 第一列确实从 0 开始,但结束列必须是您想要的后面的列,因此 0-1 是 A 列,而不是 A 和 B 列。
在此示例中,我们删除除第一列之外的所有列 - 它不会让您删除整个工作表,例如,如果您要执行 0-26(即全部),您会得到:
无效请求[1].deleteDimension:您无法删除工作表上的所有列。
不用担心,虽然您现在只有一个列,但当您添加数据时,将自动添加您需要的任意数量的新列
我在 2019 年 12 月获得的工作簿限制是 5,000,000,而不是 2,000,000:
无效请求[2].pasteData:此操作会将工作簿中的单元格数量增加到超过 5000000 个单元格的限制。
| 归档时间: |
|
| 查看次数: |
1281 次 |
| 最近记录: |