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を関連づけてみた
指定した行をランダムに並び替える
指定したセルの範囲を行単位でランダムに並び替えることができます。
範囲(GridRange)の指定で
・範囲を指定しない場合、範囲はシート全体が対象
・終了行・列を指定しない場合、開始行・列からデータがある行・列までが対象
となります。
サンプル コード
ランダムに並べ替えたい範囲をしていするだけ、非常にシンプルです。
public Request randomizeRange(Integer sheetId) {
Request request = new Request();
GridRange range = new GridRange();
range.setSheetId(sheetId); //設定するシートID
//range.setStartRowIndex(1); //開始行(0スタート)
//range.setEndRowIndex(8); //終了行(0スタート)
//range.setStartColumnIndex(0); //開始列(0スタート))
//range.setEndColumnIndex(4); //終了列(0スタート)
RandomizeRangeRequest r = new RandomizeRangeRequest();
r.setRange(range);
request.setRandomizeRange(r);
return request;
}
実行結果
おしまい。。