You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Google Sheets API通过Java删除Google Sheets中的行?

Google Sheets Java API 删除整行实现方案

你需要的删除整行功能,不能用values().clear()(这个只会清空单元格内容,行本身还留在表格里),得通过spreadsheets.batchUpdate接口发送DeleteDimensionRequest来实现。

以下是替换你现有清除逻辑的完整代码示例:

import com.google.api.services.sheets.v4.model.*;
import java.util.Collections;

// ... 你的其他代码 ...

if (CALCNumber.toString().equals(BLNumber.get(0).toString())) {
    // 1. 构建删除行的请求
    DeleteDimensionRequest deleteRowRequest = new DeleteDimensionRequest()
        .setRange(new DimensionRange()
            .setSheetId(0) // 替换为你的目标工作表ID(可从表格URL或API获取)
            .setDimension("ROWS")
            .setStartIndex(1) // 行索引从0开始,A2对应的是索引1
            .setEndIndex(2)); // 左闭右开区间,这里表示删除索引1对应的行(即第2行)

    // 2. 包装批量更新请求
    BatchUpdateSpreadsheetRequest batchRequest = new BatchUpdateSpreadsheetRequest()
        .setRequests(Collections.singletonList(
            new Request().setDeleteDimension(deleteRowRequest)
        ));

    // 3. 执行删除操作
    BatchUpdateSpreadsheetResponse deleteResponse = sheets.spreadsheets()
        .batchUpdate(spreadsheetId, batchRequest)
        .execute();

    System.out.println("行删除完成,响应信息:" + deleteResponse);
}

关键参数说明

  • sheetId:工作表的唯一ID,不是工作表名称。如果不知道怎么找,可以通过spreadsheets.get接口获取,或者从表格URL的gid=xxx部分提取xxx的值。
  • startIndex/endIndex:行的索引从0开始计数,比如要删除第5行,就设置startIndex=4、endIndex=5(因为是左闭右开的区间)。

内容的提问来源于stack exchange,提问作者Mateusz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 20:42:50