我想使用 googlesheet api v4 删除 googlesheet 中的行

Vin*_*rma 5 c# google-sheets-api

我想使用 googlesheetv4 api 在 googlesheet 中使用 rowno 删除一行。有人可以为此提供示例代码吗?我创建了一个删除行的方法:

public void deleteRow() {

    BatchUpdateSpreadsheetRequest content = new BatchUpdateSpreadsheetRequest();
    Request request = new Request();
    request.setDeleteDimension(new DeleteDimensionRequest().setRange(new DimensionRange().setDimension("D30:D31")));

    List<Request> requests = new ArrayList<Request>();
    requests.add(request);
    content.setRequests(requests);
    System.out.println(content.getRequests());

    try {
        service.spreadsheets().batchUpdate(IConstant.SPREADSHEET_ID, content);

    } catch (IOException e) {
        e.printStackTrace();
    }
}
Run Code Online (Sandbox Code Playgroud)

Tey*_*yam 6

如迁移到 Google Sheets API中所述,要使用 Google Sheets API V4删除行spreadsheet.batchUpdate,是通过使用DeleteDimension请求的方法调用来处理的。此请求还可以用于删除列,开发人员可以选择仅删除行或列的一部分。

删除具有给定 ID 的工作表的第 6 行的示例代码:

POST https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId:batchUpdate

{
  "requests": [
    {
      "deleteDimension": {
        "range": {
          "sheetId": sheetId,
          "dimension": "ROWS",
          "startIndex": 5,
          "endIndex": 6
        }
      }
    }
  ],
}
Run Code Online (Sandbox Code Playgroud)

有关行和列操作的更多信息可能会有所帮助。


Eri*_*eda 6

您的代码看起来很接近,但您没有DimensionRange正确设置。请尝试以下操作:

Request request = new Request()
  .setDeleteDimension(new DeleteDimensionRequest()
    .setRange(new DimensionRange()
      .setSheetId(0)
      .setDimension("ROWS")
      .setStartIndex(30)
      .setEndIndex(32)
    )
  );
Run Code Online (Sandbox Code Playgroud)