0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Google Sheets API] セルを挿入・削除して、既存のセルを移動させる

Last updated at Posted at 2024-02-28

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. セルを挿入する

セルを挿入して既存のセルを右または下に移動させます。

挿入後の移動の指定はsetShiftDimensionメソッドで指定します。
ROWS:下に移動
COLUMNS:右に移動

サンプル コード
指定の位置にセルを挿入して既存のセルを右に移動させます。

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

    GridRange range = new GridRange();
    range.setSheetId(sheetId);       //設定するシートID
    range.setStartRowIndex(1);       //開始行(0スタート)
    range.setEndRowIndex(3);         //終了行(1スタート)
    range.setStartColumnIndex(1);    //開始列(0スタート))
    range.setEndColumnIndex(3);      //終了列(1スタート)
    
    InsertRangeRequest r = new InsertRangeRequest();
    r.setRange(range);
    r.setShiftDimension("COLUMNS");  //右に移動させる
    
    request.setInsertRange(r);
    return request;
}

実行結果
画像の選択した位置にセルを挿入します。

セルが挿入され既存のセルが右に移動しました。

2. セルを削除する

セルを削除して既存のセルを上または左に移動させます。

削除後の移動の指定はsetShiftDimensionメソッドで指定します。
ROWS:上に移動
COLUMNS:左に移動

サンプル コード
指定の位置にセルを挿入して既存のセルを右に移動させます。

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

    GridRange range = new GridRange();
    range.setSheetId(sheetId);       //設定するシートID
    range.setStartRowIndex(1);       //開始行(0スタート)
    range.setEndRowIndex(3);         //終了行(1スタート)
    range.setStartColumnIndex(1);    //開始列(0スタート))
    range.setEndColumnIndex(3);      //終了列(1スタート)
    
    DeleteRangeRequest r = new DeleteRangeRequest();
    r.setRange(range);
    r.setShiftDimension("COLUMNS");  //左に移動させる
    
    request.setDeleteRange(r);
    return request;
}

実行結果
画像の選択した位置のセルを削除します。

セルが削除され、既存のセルは左に移動しました。


おしまい。。
0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?