Google Apps Scriptでデータをテーブル化する方法【GAS】

2025年5月2日、GASのメソッドではなくREST APIであるSheets APIにて先行して「データをテーブル化」といった一連のテーブル関係の機能が装備されました。

GASからはSheets APIが直接利用できるので、一連の作業をこのAPIを使って操作してみようと思います。CSVを取り込んで新規にシートを作成し、即時にテーブル化といった一連の作業を自動化することが可能です。

今回利用するサンプル等

出たばかりのAPIであるためと、GASのメソッドではないのでまだ事例が無いため、ちょっと苦戦しました。以前、Sheets APIで速度アップの項目で利用していますが、同じような流れで実装を試みてみます。

実際の詳細なリファレンスはこちらのページになるようです。各列に指定するカラムのタイプについてはこちらに一覧で用意されています。

Google Apps ScriptでSheets APIを使ったら爆速だった【GAS】

事前準備

Google Apps ScriptでSheets APIを利用する場合には事前準備が必要です。以下の手順で追加します。

  1. スクリプトエディタの画面にて、左サイドのサービスの+をクリックする
  2. Google Sheets APIを選択して追加をクリックする

これで、SheetsにつなげてAPIリクエストを送ることが可能になります。事前準備はこれだけ。あとはサンプルのデータなどを用意しておいて、対象の範囲を元にテーブル化を行います。

図:APIの追加をする必要があります。

ソースコード

範囲をテーブル化する

テーブル化したい範囲を明確に数値で指定して、なおかつタイトル行をカッチリ指定して範囲をテーブル化することが可能です。ただしこの時、tableIdを指定しておいたほうが後で削除やデータの追加時に必要になるので、便利です。

カラムに対して前述にあるようにColumnTypeを指定して細かく型の指定や、ドロップダウン化まで含めて指定が可能です。

図:無事にテーブル化まで出来ました。

tableIdをリストアップする

作成したテーブルには表面上見えないtableIdというものがあります。コレがないと後でテーブルに対してデータの追加やテーブルの削除ができないので、前述で任意に指定しています。このtableIdをスプシ全体からリストアップするためのコードです。

図:シート1にセットしたtableIdを無事取得できた

テーブルを削除する

指定のテーブルIDを元にテーブルを削除するためのコードです。ただし、テーブルデータもろとも消えるので注意

テーブルに1行データを追加する

指定のテーブルIDを元に1行データを追加するためのコードです。

Internal error encountered.となったコード

コード自体は正しいと思うのだけれども、何故かInternal error encounteredとなって止まってしまったコードです。まだ出たばかりのAPIであるためなのか?それともリクエストがオカシイのか、、、

このトラブルが出た場合はおおむねサーバー側の問題なので、あまり沼にハマらないように。

図:何故かエラーが出て止まる

関連リンク

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)