0
私は様々なSOの質問をチェックしましたが、service()。spreadsheet()。values()ではappendメソッドを使用できるはずですが、このメソッドは他のSOの質問とは異なりこのオブジェクトには存在しません。ドキュメント全体に書き込むのではなく、Googleスプレッドシートにデータを追加するにはどうすればよいですか?Googleスプレッドシートにデータを追加するにはどうすればよいですか?
これは、現在のドキュメントに追加するのではなく、現在のドキュメントに上書きするコードです。
public static Sheets getSheetsService() throws IOException {
Credential credential = authorize();
return new Sheets.Builder(HTTP_TRANSPORT, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME)
.build();
}
...
public static boolean writeToPersistedGoogleDoc(List<FlightBookingRow> rows) throws IOException {
Sheets service = getSheetsService();
String valueInputOption = "USER_ENTERED";
List<List<Object>> values = new ArrayList<>();
for(FlightBookingRow row: rows){
List<Object> list = new ArrayList<>();
list.add(row.getTimeBooked());
list.add(row.getPaidStatus());
list.add(row.getCostOfTicket());
list.add(row.getFlightPlan());
list.add(row.getNumberOfPeople().toString());
list.add(row.getDepartureDate().toString());
list.add(row.getReturnDate().toString());
list.add(row.getCompanyBookedWith());
values.add(list);
}
ValueRange body = new ValueRange()
.setValues(values);
UpdateValuesResponse result =
service.spreadsheets().values().update(PERSISTED_FLIGHT_SHEET, RANGE, body)
.setValueInputOption(valueInputOption)
.execute();
System.out.printf("%d cells updated.", result.getUpdatedCells());
return true;
}