新しいGoogle Sheets API v4で最後の行に値を取得するにはどうすればよいですか?
これを使用してシートから範囲を取得します。
mService.spreadsheets().values().get("ID_SHEET", "Sheet1!A2:B50").execute();
シートの値を持つ最後の行を検出する方法は?
範囲を「A2:D」に設定すると、シートの最後のデータ行までフェッチできます。
現在のスプレッドシートの合計行数を数えることでなんとかできました。次に、データを次の行に追加します。
rowcount = this.mService.spreadsheets().values().get(spreadsheetId, range).execute().getValues().size()
する必要はありません。すべての行が確実にその中に配置されるように、巨大な範囲(たとえば_A2:D5000
_)を設定します。それがさらに影響を与えるかどうか、メモリ消費量が増えるかどうかはわかりませんが、現時点では問題ありません。
_private List<String> getDataFromApi() throws IOException {
String spreadsheetId = "1BxiMVs0XRA5nFMdKvBdBZjgmUUqptlbs74OgvE2upms";
String range = "A2:D5000";
List<String> results = new ArrayList<String>();
ValueRange response = this.mService.spreadsheets().values()
.get(spreadsheetId, range)
.execute();
List<List<Object>> values = response.getValues();
if (values != null) {
results.add("Name, Major");
for (List row : values) {
results.add(row.get(0) + ", " + row.get(3));
}
}
return results;
}
_
ループfor (List row : values)
を見てください。テーブルに2つの行がある場合、values
リストに2つの要素が表示されます。