我们正在使用Google表格API V4。我们希望从v4添加100万行,我们支持在Spread表中写入200万个单元格。因此,我们尝试添加80,000行,包含6列。 80,000 * 6 = 480000个单元但我们得到了以下错误。
{
"code": 400,
"errors": [
{
"domain": "global",
"message": "Invalid requests[0].appendCells: This action would increase the number of cells in the workbook above the limit of 2000000 cells.",
"reason": "badRequest"
}
],
"message": "Invalid requests[0].appendCells: This action would increase the number of cells in the workbook above the limit of 2000000 cells.",
"status": "INVALID_ARGUMENT"
}
我们每次循环80都会添加1000行。错误后我们检查表格,发现插入了73000行。
我们认为Google表格API还会在第6列后计算空单元格。假设我们用铰孔单元格计算73000 * 26(A-Z)= 1898000,当我们尝试添加更多时,我们得到了错误。
请帮助我们了解如何删除铰接空单元格或任何其他替代方法。我们正在使用以下代码
AppendCellsRequest appendCellReq = new AppendCellsRequest();
appendCellReq.setSheetId(ssDetails.getSheets().get(4).getProperties().getSheetId());
appendCellReq.setRows(listRowData);
appendCellReq.setFields("userEnteredValue");
Request request = new Request();
request.setAppendCells(appendCellReq);
List<Request> requests = new ArrayList<>();
requests.add(request);
BatchUpdateSpreadsheetRequest batchRequests = new BatchUpdateSpreadsheetRequest();
batchRequests.setRequests(requests);
service.spreadsheets().batchUpdate(spreadsheetId, batchRequests).execute();
第二件事是在附加细胞时,我们无法对细胞列进行分析,它始终以第一列(A)开始。
答案 0 :(得分:1)
是的,200万个细胞的限制适用于所有细胞,空白或不空白。由于默认情况下工作表有26列,这意味着除非列数减少,否则最多可以有2,000,000 / 26 = 76923行。
要删除不需要的列(第6列之后的列),请向
发送POST请求https://sheets.googleapis.com/v4/spreadsheets/{spreadsheetId}:batchUpdate
表格的请求正文
{
"requests": [
{
"deleteDimension": {
"range": {
"sheetId": sheetId,
"dimension": "COLUMNS",
"startIndex": 7,
"endIndex": 26
}
}
}
]
}