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)
如迁移到 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)
有关行和列操作的更多信息可能会有所帮助。
您的代码看起来很接近,但您没有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)