2017-12-05 3 views
0

나는 다양한 SO 질문을 점검했고, service(). spreadsheet(). values ​​()에서 사용할 수있는 추가 메소드가 있어야하지만 다른 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; 
    } 

답변

0

필자의 pom 파일에는 날짜가 약간 오래된 종속성이 있습니다.

이 내용을 추가 한 다음 append 메서드에 액세스 할 수 있습니다.

<dependency> 
    <groupId>com.google.apis</groupId> 
    <artifactId>google-api-services-sheets</artifactId> 
    <version>v4-rev494-1.23.0</version> 
</dependency> 
관련 문제