Google表格API v4 - 如何在最后一行之后插入值?

seb*_*neo 8 android google-sheets google-sheets-api

我正在使用新的Google表格API v4将数据插入电子表格中,代码非常完美,而且数据也很好地插入到工作表中.

但如何在数据之后找出最后一行添加数据呢?

List<List<Object>> arrData = getData();

ValueRange oRange = new ValueRange();
oRange.setRange("Pedidos!AXXXXXXX"); // I NEED THE NUMBER OF THE LAST ROW
oRange.setValues(arrData);

List<ValueRange> oList = new ArrayList<>();
oList.add(oRange);

BatchUpdateValuesRequest oRequest = new BatchUpdateValuesRequest();
oRequest.setValueInputOption("RAW");
oRequest.setData(oList);

BatchUpdateValuesResponse oResp1 = mService.spreadsheets().values().batchUpdate("ID_SPREADSHEET", oRequest).execute();
Run Code Online (Sandbox Code Playgroud)

A1表示法中有一些技巧吗?

我需要一个与Google Apps脚本相同的.getLastRow

小智 5

如果您使用追加功能并将范围设置为整个工作表,API 将找到最后一行并在其后追加新数据。

这个网页解释了它。

https://developers.google.com/sheets/api/guides/values#appending_values

下面是一些示例代码:

String range="Sheet1";
insertData.setValues(rows);
AppendValuesResponse response=service.spreadsheets().values()
.append(spreadsheetId,range,insertData).setValueInputOption("USER_ENTERED")
            .execute();
Run Code Online (Sandbox Code Playgroud)

请注意,响应会告诉您它的插入位置。


Sam*_*lin 2

v4 API 无法询问“数据的最后一行是什么”,因为它是与 Apps 脚本 API 不同风格的 API。您可以通过请求数据并计算从第一个请求的行到最后返回的行的偏移​​量来自行推断最后一行。