Java Google Seehts API v4按搜索值获取行列索引或追加

时间:2017-11-12 23:28:55

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

您好我正在使用Google表格API v4 for Java。 我想创建一个服务器列表,我为自己的小项目注册新的服务器IP。目前我可以使用

在空行追加新条目
AppendCellsRequest appendCellReq = new AppendCellsRequest();
appendCellReq.setSheetId(0);
appendCellReq.setRows(rowData);
appendCellReq.setFields("userEnteredValue");

现在的问题是,我想稍后删除这一行,所以我需要弄清楚如何在以后找到它。我的想法是添加一个UniqueID或搜索确切的添加值或记住行号。然而,一种方法是找到并替换所有细胞。但我宁愿有办法获得我添加的数据的行号。 我很高兴听到一些建议。

1 个答案:

答案 0 :(得分:0)

由于长时间的搜索,我最终找到了答案。有一些教程确实能够追加一行,但却无法返回它们插入的行。使用此代码现在可以实现。我在几个小时的搜索后找到了它。它不是最好的代码,但它可以工作并且可以修改。

    String range = "A1"; // TODO: Update placeholder value.

    // How the input data should be interpreted.
    String valueInputOption = "RAW"; // TODO: Update placeholder value.

    // How the input data should be inserted.
    String insertDataOption = "INSERT_ROWS"; // TODO: Update placeholder value.

    // TODO: Assign values to desired fields of `requestBody`:
    ValueRange requestBody = new ValueRange();

    List<Object> data1 = new ArrayList<Object>();
    data1.addAll(Arrays.asList(dataArr));

    List<List<Object>> data2 = new ArrayList<List<Object>>();
    data2.add(data1);

    requestBody.setValues(data2);

    Sheets sheetsService;
    try {
        sheetsService = getSheetsService();
        Sheets.Spreadsheets.Values.Append request = sheetsService.spreadsheets().values().append(spreadSheetId,
                range, requestBody);

        request.setValueInputOption(valueInputOption);
        request.setInsertDataOption(insertDataOption);

        AppendValuesResponse response = request.execute();

        // TODO: Change code below to process the `response` object:

        Logger.println(response.getTableRange());

        String startCell = response.getTableRange().split(":")[1];
        String colString = startCell.replaceAll("\\d", "");
        String row = startCell.replaceAll(colString, "");

    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }