Google Sheets API v4(Java)を使用して、
スプレットシートのシートの追加、更新、複製、削除する方法
についてご紹介します。
APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Sheets API] Google Sheets API v4をJavaで操作する
を参照ください。
//例:
requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
その他のGoogle Sheets APIは、下記の記事を参照ください。
⧉[Google Sheets API] JavaでスプレットシートのメニューとAPIを関連づけてみた
No | 目次 |
---|---|
0 | シートの情報 |
1 | シートを追加 |
2 | シートの更新 |
3 | シートの複製 |
4 | シートの削除 |
0. シートの情報
シートの情報はSheetPropertiesクラスで設定します。
項目名 | メソッド | 内容 |
---|---|---|
シートID | setSheetId | シートを識別するID |
シートの名前 | setTitle | シートタブに表示される名前 |
シートインデックス | setIndex | シートの配置位置(並び順) 0スタート、省略時は一番最後に追加 |
テキストの方向 | setRightToLeft | テキストの描画方向 RTL(右から左にテキストが書かれる) LTR(通常、左から右にテキストが書かれる) |
表示・非表示 | setHidden | シートを表示有無 メニュー:「表示」 ⇨ 「非表示のシート」 |
タブの色 | setTabColor または setTabColorStyle |
シートのタブの色 タブメニュー:「色を変更」 |
行、列に関する情報 | setGridProperties | GridPropertiesクラスで設定 |
行、列に関する情報は、GridPropertiesクラスに設定します。
項目名 | メソッド | 内容 |
---|---|---|
行の数 | setRowCount | 行の数 |
列の数 | setColumnCount | 列の数 |
行の固定 | setFrozenRowCount | 固定する行の数 メニュー:「表示」 ⇨ 「固定」 |
列の固定 | setFrozenColumnCount | 固定する列の数 メニュー:「表示」 ⇨ 「固定」 |
グリッドの表示・非表示 | setHideGridlines | グリッドの表示有無 メニュー:「表示」⇨「グリッド線」 |
1. シートを追加
指定したスプレットシートにシートを追加します。
シートIDは、省略可能です。省略時は自動で割り振られます
シートの名前は、既に存在する名前だとエラーになります。
サンプル コード
public Request addSheet(Integer sheetId) {
Request request = new Request();
SheetProperties prop = new SheetProperties();
prop.setSheetId(1); //設定するシートID(gid)
prop.setTitle("追加テスト"); //タブのタイトル名(すでに存在するタブの名前だとエラー)
prop.setIndex(0); //シートの挿入位置(0スタート)
//prop.setHidden(true); //シートを非表示にする場合
//prop.setRightToLeft(true); //テキストの方向(true:RTL、false:LTR)
GridProperties grid = new GridProperties();
grid.setRowCount(5); //行の数
grid.setColumnCount(5); //列の数
grid.setFrozenRowCount(2); //固定する行数
grid.setFrozenColumnCount(2); //固定する列数
grid.setHideGridlines(true); //グリッドの線を表示しない場合
prop.setGridProperties(grid); //シートがグリッドの場合に情報設定
Color tabColor = new Color();
tabColor.setRed(1.0f);
tabColor.setGreen(0f);
tabColor.setBlue(0f);
tabColor.setAlpha(0f);
prop.setTabColor(tabColor); //タブの色
AddSheetRequest r = new AddSheetRequest();
r.setProperties(prop); //プロパティーの設定
request.setAddSheet(r);
return request;
}
実行結果
指定した箇所に「追加シート」が5行5列、固定2行2列、グリッド線なしで追加されました。
2. シートの更新
指定したシートの情報を更新します。
SheetPropertiesクラスで更新する内容を設定します。
更新したい項目は、UpdateSheetPropertiesRequestクラスのsetFieldsで指定します。
指定がない項目は更新されません。
複数の項目を更新したい場合は、「,」で繋げます。
field | 更新する項目 |
---|---|
title | シートの名前 |
index | シートインデックス |
rightToLeft | テキストの方向 |
hidden | 表示・非表示 |
tabColor | タブの色 |
gridProperties | 行、列に関する情報 |
サンプル コード
シートの名前とシートの並び順を更新してみます。
public Request updateSheetProperties(Integer sheetId) {
Request request = new Request();
SheetProperties prop = new SheetProperties();
prop.setTitle("シート名更新"); //シートの名前
prop.setIndex(1); //シートの配置位置(並び順)
UpdateSheetPropertiesRequest r = new UpdateSheetPropertiesRequest();
r.setFields("title,index");
r.setProperties(prop);
request.setUpdateSheetProperties(r);
return request;
}
3. シートの複製
指定したシートをコピーします。
コピーで作成されたシートのIDを指定することも可能ですが、
既に存在するシートIDを指定するとエラーになります。
サンプル コード
public Request duplicateSheet(Integer sheetId) {
Request request = new Request();
DuplicateSheetRequest r = new DuplicateSheetRequest();
r.setSourceSheetId(sheetId); //コピー元のシートID
r.setNewSheetName("コピーテスト"); //コピーして追加するシートの名前
r.setInsertSheetIndex(0); //複製したシートの挿入位置(0スタート、省略時は一番最後にシートが追加される)
//r.setNewSheetId(1); //挿入するシートID(gid) IDを自分で設定したい場合のみ
request.setDuplicateSheet(r);
return request;
}
4. シートの削除
指定したシートを削除します。
サンプル コード
public Request deleteSheet(Integer sheetId) {
Request request = new Request();
DeleteSheetRequest r = new DeleteSheetRequest();
r.setSheetId(sheetId); //削除するシートのID
request.setDeleteSheet(r);
return request;
}
おしまい。。