0
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-16

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

サンプル コード
コピー元のスプレットシートIDとシートIDを指定して、
コピー先のスプレットシートにコピーします。

実行

public static void main(String[] args) throws Exception {
    String fileId = "";     //コピー元のスプレットシートID
    Integer sheetId = 0;    //コピー元のシートID";
    String destFileId = ""; //コピー先のスプレットシートID

    //コピー先のスプレットシートIDを設定
    CopySheetToAnotherSpreadsheetRequest request = new CopySheetToAnotherSpreadsheetRequest();
    request.setDestinationSpreadsheetId(destFileId);
    
    Spreadsheets sheets = getSpreadsheets();

    //コピーを実行
    SheetProperties prop = sheets.sheets().copyTo(fileId, sheetId, request).execute();

    //コピー実行のレスポンス
    response(prop);

コピーの実行結果
コピーの実行後に得られるレスポンス情報を下記コードに示します。

下記は必ず取得できる情報です。
それ以外は設定されていない場合は取得できません。

内容 取得メソッド
コピーされたシートID getSheetId()
コピーされたシートのタイトル getTitle()
コピーされたシートの並び順 getIndex()
コピーされたシートの種別 getSheetType()

sheetTypeは、以下のいずれかが取得できます。
typeの種類によって取得できるレスポンスも異なります。

type 内容 取得メソッド
GRID GRID getGridProperties()
OBJECT オブジェクト(グラフや画像など) なし
DATA_SOURCE データソース(Bigqueryなど) getDataSourceSheetProperties()
private static void response(SheetProperties prop){
    //コピーされたシートID
    Integer sheetId = prop.getSheetId();
    
    //コピーされたシートのタイトル
    String title = prop.getTitle();
    
    //コピーされたシートの並び順
    Integer index = prop.getIndex();
    
    //コピーされたシートの種別
    String sheetType = prop.getSheetType();

    //以下、設定されている場合のみ取得可能
    //シートが非表示か?
    Boolean hidden = prop.getHidden();
    
    //タブの色、またはスタイル
    Color tabColor = prop.getTabColor();
    ColorStyle tabColorStyle = prop.getTabColorStyle();
    
    //テキストの方向
    Boolean rightToLeft = prop.getRightToLeft();
    
    //sheetTypeが「GRID」の場合のみ
    GridProperties  grid = prop.getGridProperties();
    
    //sheetTypeが「DATA_SOURCE」の場合のみ
    DataSourceSheetProperties dataSourceSheetProperties = prop.getDataSourceSheetProperties();
    
}

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?