2
0

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-29

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を関連づけてみた

テキストを列に分割させる

セルを指定してテキストを列に分割させます。

区切り文字はTextToColumnsRequestクラスのsetDelimiterTypeメソッドで指定します。
CUSTOMの場合は、setDelimiterメソッドで区切り文字を指定します。

type 区切り文字
COMMA カンマ 「,」
SEMICOLON セミコロン 「;」
PERIOD ピリオド 「.」
SPACE スペース 「 」
CUSTOM カスタム
AUTODETECT 自動判定

範囲の設定では1列のみを指定してください。
複数列を指定するとエラーになります。

サンプル コード
カンマ区切りのデータを列に分割させます。

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

    //範囲の設定
    GridRange range = new GridRange();
    range.setSheetId(sheetId);    //シートID
    range.setStartRowIndex(0);    //開始行(0スタート)
    range.setEndRowIndex(3);      //終了行(1スタート)
    range.setStartColumnIndex(0); //開始列(0スタート))
    range.setEndColumnIndex(1);   //終了列(1スタート)
    
    TextToColumnsRequest r = new TextToColumnsRequest();
    r.setDelimiterType("COMMA");  //区切り文字のタイプ
    //r.setDelimiter("¥");        //カスタムの区切り文字(typeがCUSTOMの場合のみ)
    r.setSource(range);
    
    request.setTextToColumns(r);
    return request;
}

実行結果
カンマ区切りのデータが

列に分割されました。


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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?