如何将数据附加到Google电子表格?

时间:2017-12-05 19:55:02

标签: java google-sheets-api

我已经检查了各种SO问题,我发现在service()。spreadsheet()。values()上应该有一个append方法,但与其他SO问题不同,该方法对我来说不存在。如何将数据附加到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;
    }

1 个答案:

答案 0 :(得分:0)

我的pom文件中有一个稍微过时的依赖。

我添加了这个,然后我可以访问append方法。

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