0
0

[Google Sheets API] セル内の空白をまとめて削除する

Last updated at Posted at 2024-02-24

Google Sheets API v4(Java)を使用して、
スプレットシートのセル値の前後の空白(スペース、改行、タブ等)を削除する方法
についてご紹介します。

メニュー:「データ」 ⇨ 「データ クリーンアップ」 ⇨ 「空白文字を削除」
で実行できる内容と同じです。
指定した範囲のセルをトリミング(trim)します。

APIを利用する環境の準備から始める場合や、コードを実行する際は、
⧉[Google Sheets API] Google Sheets API v4をJavaで操作する
を参照ください。

例:requests.add(moveDimension(sheetId)); //実行したいリクエストのMethodを指定

その他のGoogle Sheets APIは、下記の記事を参照ください。
⧉[Google Sheets API] JavaでスプレットシートのメニューとAPIを関連づけてみた

No 目次
1 セルのトリミング
1 範囲を指定した場合
2 範囲を指定しない場合

1. セルのトリミング

トリミングしたいシートとセルの範囲を指定します。

セルの範囲を指定しない場合はシート全体で適用されます。

1.1. 範囲を指定した場合

指定したセルの範囲がトリミングされます。

サンプル コード
A〜C列、1行目〜4行目の範囲をトリミングします。

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

    GridRange range = new GridRange();
    range.setSheetId(sheetId);       //トリミングするシートID
    range.setStartRowIndex(0);       //開始行(0スタート)
    range.setEndRowIndex(4);         //終了行(1スタート)
    range.setStartColumnIndex(0);    //開始列(0スタート))
    range.setEndColumnIndex(3);      //終了列(1スタート)
    
    TrimWhitespaceRequest r = new TrimWhitespaceRequest();
    r.setRange(range);
    
    request.setTrimWhitespace(r);
    return request;
}

実行結果
分かりづらいですが、先頭と末尾に空白や改行が含まれたセルがあります。

指定範囲(画像の選択している範囲)のみトリミングされました。

1.2. 範囲を指定しない場合

指定したシートのセル全体をトリミングします。

サンプル コード

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

    GridRange range = new GridRange();
    range.setSheetId(sheetId);       //トリミングするシートID
    
    TrimWhitespaceRequest r = new TrimWhitespaceRequest();
    r.setRange(range);
    
    request.setTrimWhitespace(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