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

Google Sheets API v4（Java）を使用して、
スプレットシートのセルに枠線を引く方法と消す方法
についてご紹介します。

:::note info
APIを利用する環境の準備から始める場合や、コードを実行する際は、
[⧉[Google Sheets API] Google Sheets API v4をJavaで操作する](https://qiita.com/doran/items/3d43f776188b2281044c)
を参照ください。
```
例：requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定
```
:::

:::note info
その他のGoogle Sheets APIは、下記の記事を参照ください。
[⧉[Google Sheets API] JavaでスプレットシートのメニューとAPIを関連づけてみた](https://qiita.com/doran/items/2f6f8932b994fbd1a170)
:::

|No|目次|
|---|---|
|1|[枠線を引く](#1-枠線を引く)|
|2|[枠線を消す](#2-枠線を消す)|

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

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

枠線の種類はBorderクラスのsetStyle(文字列)メソッド、
枠線の色はBorderクラスのsetColor(Color)メソッドで設定します。
|setTyleに設定する文字列|線の種類|
|---|---|
|DOTTED|点線の境界線|
|DASHED|破線の境界線|
|SOLID|細い実線の境界線|
|SOLID_MEDIUM|中程度の実線の境界線|
|SOLID_THICK|太い実線の境界線|
|DOUBLE|2本の実線の境界線|

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

配置する位置はUpdateBordersRequestクラスのメソッドで設定します。
・上部線（setTop）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/ba6a4744-62ac-fe6c-9136-7b6e56ddbe7d.png">
・下部線（setBottom）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/60c2a53e-2060-bb60-c393-edd4ff01af30.png">
・左部線（setLeft）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/b54de1bd-b507-7b3c-678a-8e900a2fd017.png">
・右部線（setRight）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/4718863b-1b40-deee-64fe-0f9a85409e9e.png">
・水平境界線（setInnerHorizontal）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/84abc72c-fcee-fd7a-1ddf-8824325b03c3.png">
・垂直境界線（setInnerVertical）
<img width="200" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/164c308a-077b-35eb-9038-c3c94f87b1bf.png">

**サンプル コード**
指定範囲に青色の枠線を引きます。
```
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;
}
```
**実行結果**
<img width="480" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/027e3243-0c5c-51b6-4e15-cd31d19dc576.png">

指定した範囲に枠線が引かれました。
<img width="480" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/f0d0d758-3690-df40-c1a2-cb1d47d3ed0a.png">

## 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;
}
```
**実行結果**
これが
<img width="480" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/f0d0d758-3690-df40-c1a2-cb1d47d3ed0a.png">

こうなりました。
<img width="480" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/114621/77e47b97-900d-05b0-fd83-75103f6992b2.png">


おしまい。。