忍者ブログ

ひつ(じのひよこが)プログラミングします。
お仕事や趣味で困ったこととか、何度も「あれ?どうだったかしら」と調べたりしたこととか、作ったものとか、こどものこととかを書きます
★前は週末定期更新でしたが今は不定期更新です

2024/11    10« 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  »12

Google Spread Sheet を Java で編集する

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

コメント

ただいまコメントを受けつけておりません。

Google Spread Sheet を Java で編集する

公式の Java Quickstart に大体必要な情報は掲載されているが、こちらだとシートを読み込むための情報しか載ってない。

Quickstart 掲載の以下が既に実施されている前提で書いていく

final NetHttpTransport HTTP_TRANSPORT = GoogleNetHttpTransport.newTrustedTransport();
final String spreadsheetId = "ACJ9wvshTKNWUmdlgY5SCwe5VK5aZZhkE2wTMJVNqBcS";
Sheets service = new Sheets.Builder(
        HTTP_TRANSPORT, JSON_FACTORY,
        getCredentials(HTTP_TRANSPORT)).setApplicationName(APPLICATION_NAME).build();

行・列を消す

List<Request> requests = new ArrayList<Request>();

// 0列目から数えて1行目から1000行目まで消す (1行だけ残る)
requests.add((new Request()).setDeleteDimension(
    (new DeleteDimensionRequest())
    .setRange(
      (new DimensionRange()).setStartIndex(1).setEndIndex(1000).setDimension("ROWS"))));

// 0行目から数えて7列目から26列目まで消す (7列だけ残る)
requests.add((new Request()).setDeleteDimension(
    (new DeleteDimensionRequest())
    .setRange(
      (new DimensionRange()).setStartIndex(7).setEndIndex(26).setDimension("COLUMNS"))));

BatchUpdateSpreadsheetRequest body = new BatchUpdateSpreadsheetRequest().setRequests(requests);
service.spreadsheets().batchUpdate(spreadsheetId , body).execute();

シートに記入する

List<ValueRange> data = new ArrayList<ValueRange>();
data.add(new ValueRange().setRange("A1").setValues(Arrays.asList(Arrays.asList(
    "ぱんだ",
    "うさぎ",
    "こあら"))));
BatchUpdateValuesRequest requestBody = new BatchUpdateValuesRequest();
requestBody.setValueInputOption("RAW");
requestBody.setData(data);
BatchUpdate request = service.spreadsheets().values().batchUpdate(spreadsheetId, requestBody);
request.execute();

以下のような結果が得られる

ABC
1 ぱんだ うさぎ こあら
2
3

シートに新しい行を足す

List<Object> contents = new ArrayList<Object>();
contents.add((Object) 48);
contents.add((Object) "こぶた");
Append request = service.spreadsheets().values().append(
    spreadsheetId,
    "A1", // A1 を左上とする表である、とする
    new ValueRange().setValues(Arrays.asList(contents)));
request.setValueInputOption("RAW");
request.setInsertDataOption("INSERT_ROWS"); // 行の追加
AppendValuesResponse result = request.execute();

上述の状況で使うと次のようになる

ABC
1 ぱんだ うさぎ こあら
2 48 こぶた
3
4
PR

コメント

ただいまコメントを受けつけておりません。

ブログ内検索

P R