Google Spreadsheet API:清空工作表中的所有单元格

时间:2016-06-20 18:00:11

标签: java google-sheets google-spreadsheet-api google-sheets-api

我们使用Google Sheet API v4。我们想用空数据清除整个表格。我们不想删除行/列。

  1. 不工作UpdateCells调用(按API删除列): developers.google.com
  2. 使用UpdateCells Call(所有单元格): developers.google.com

4 个答案:

答案 0 :(得分:1)

这是电子表格API的Java Quickstart

然后您将spreadsheets.batchUpdate用于clear the sheets。将fields留空并放置一个星号,以指示Sheets API所有单元格应为空/清除。 以下正文请求如下:

{
  "requests": [
    {
      "updateCells": {
        "range": {
          "sheetId": 0
        },
        "fields": "*"
      }
    }
  ]
}

快速尝试oauth playground

更新:现在正在运作。它清除了我的电子表格。

答案 1 :(得分:1)

我能够使用记录在here中的清晰方法来查看rev607。

ClearValuesRequest clearValuesRequest = new ClearValuesRequest();
// assumes you have a sheetservice initialized 
sheetsService.spreadsheets().values().clear(spreadsheetId, "Sheet1", clearValuesRequest);

没有得到充分记录的主要见解是,您可以仅输入范围的工作表名称,并清除工作表中的所有单元格。

答案 2 :(得分:0)

我不知道这是否对其他人有帮助,但这就是我如何为我工作: 这应该清除您的整个工作表。 我不记得为什么'sheetId'为0,但也许它是工作表本身中工作表的索引。 (例如您如何使用标签?) 老实说,我不记得了。 该函数希望您传入$ service对象和电子表格ID。

function clearSheet($service, $spreadsheetID = 0){

$request = new \Google_Service_Sheets_UpdateCellsRequest([
    'updateCells' => [ 
        'range' => [
            'sheetId' => 0 
        ],
        'fields' => "*" //clears everything
    ]
  ]);
$requests[] = $request;

$requestBody = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest();
$requestBody->setRequests($requests);
$response = $service->spreadsheets->batchUpdate($spreadsheetID, $requestBody);
return $response;
}

答案 3 :(得分:0)

Java示例:

        UpdateCellsRequest clearAllDataRequest = new UpdateCellsRequest();
        int allSheetsId = 0;
        String clearAllFieldsSpell = "*";
        GridRange gridRange = new GridRange();
        gridRange.setSheetId(allSheetsId);
        clearAllDataRequest.setRange(gridRange);
        clearAllDataRequest.setFields(clearAllFieldsSpell);
        BatchUpdateSpreadsheetRequest request = new BatchUpdateSpreadsheetRequest();
        Request clearAllDataRequest = new Request().setUpdateCells(clearAllDataRequest);
        request.setRequests(List.of(clearAllDataRequest));
        return request;