0
0

[Google Sheets API] セルに枠線を引く、枠線を消す

Last updated at Posted at 2024-02-22

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 目次
1 枠線を引く
2 枠線を消す

1. 枠線を引く

指定したセルの範囲に枠線を引きます。

枠線の種類と色
枠線の種類と色を指定します。

枠線の種類はBorderクラスのsetStyle(文字列)メソッド、
枠線の色はBorderクラスのsetColor(Color)メソッドで設定します。

setTyleに設定する文字列 線の種類
DOTTED 点線の境界線
DASHED 破線の境界線
SOLID 細い実線の境界線
SOLID_MEDIUM 中程度の実線の境界線
SOLID_THICK 太い実線の境界線
DOUBLE 2本の実線の境界線

枠線の位置
枠線を引く位置を指定します。

配置する位置はUpdateBordersRequestクラスのメソッドで設定します。
・上部線(setTop)

・下部線(setBottom)

・左部線(setLeft)

・右部線(setRight)

・水平境界線(setInnerHorizontal)

・垂直境界線(setInnerVertical)

サンプル コード
指定範囲に青色の枠線を引きます。

public Request updateBorders(Integer sheetId) {
    Request request = new Request();

    UpdateBordersRequest r = new UpdateBordersRequest();
    
    //枠線の範囲を指定
    GridRange range = new GridRange(); //枠線の範囲
    range.setSheetId(sheetId);    //設定するシートID
    range.setStartRowIndex(1);    //開始行(0スタート)
    range.setEndRowIndex(4);      //終了行(1スタート)
    range.setStartColumnIndex(1); //開始列(0スタート)
    range.setEndColumnIndex(3);   //終了列(1スタート)
    r.setRange(range);

    //枠線の種類を指定
    Color color = new Color();    //枠線の色
    color.setRed(0f);color.setGreen(0f);color.setBlue(1.0f);

    Border border = new Border(); //枠線
    border.setStyle("DOUBLE");    //線のスタイル
    border.setColor(color);       //線の色
    
    r.setTop(border);             //セルの上部線
    r.setBottom(border);          //セルの下部線
    r.setLeft(border);            //セルの左部線
    r.setRight(border);           //セルの右部線

    request.setUpdateBorders(r);
    return request;
}

実行結果

指定した範囲に枠線が引かれました。

2. 枠線を消す

指定した範囲の枠線を消します。

枠線を消す場合は、BorderクラスのsetStyleで"NONE"を指定します。

サンプル コード
指定した範囲の上部、下部、左部の枠線のみ消してみます。

public static Request updateBorders(Integer sheetId) {
    Request request = new Request();

    UpdateBordersRequest r = new UpdateBordersRequest();

    //枠線の範囲を指定
    GridRange range = new GridRange(); //枠線の範囲
    range.setSheetId(sheetId);    //設定するシートID
    range.setStartRowIndex(1);    //開始行(0スタート)
    range.setEndRowIndex(4);      //終了行(1スタート)
    range.setStartColumnIndex(1); //開始列(0スタート)
    range.setEndColumnIndex(3);   //終了列(1スタート)
    r.setRange(range);

    //枠線の種類を指定
    Border border = new Border(); //枠線
    border.setStyle("NONE");      //線のスタイル
    r.setTop(border);             //セルの上部線
    r.setBottom(border);          //セルの下部線
    r.setLeft(border);            //セルの左部線

    request.setUpdateBorders(r);
    return request;
}

実行結果
これが

こうなりました。

おしまい。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0