Google Apps Script

【GAS】スプレッドシートの各シートからCSVファイルを作成しZIPにしてドライブ保存する

下記の記事にて、スプレッドシートの特定シートをCSVファイルにする方法を紹介しました。

【GAS】スプレッドシートの特定シートからCSVファイルを作成・保存するGASでスプレッドシートからCSVファイルを作成します。CSVの保存先は「フォルダIDを指定して保存する方法」「スプレッドシートと同じフォルダに保存する方法」の2つを紹介しています。...

今回の記事では、1つのスプレッドシートに複数シートがある前提で、スプレッドシート内の各シートをCSVファイルにし、ZIPにしてドライブに保存する方法を紹介します。

ノンプロ研の中級GAS講座の課題です。あっ、初心者講座もあるようですよ。

各シートからCSVファイルを作成しZIPにする

スプレッドシート内の特定シートをCSVファイルにする方法はこちらの記事を参照→【GAS】スプレッドシートの特定シートからCSVファイルを作成・保存する

 

今回のポイントはzipメソッドです。

Utilitiesクラス.zipメソッド(blobs, name)

  • パラメータ:blobs(BlobSource[]) ,name(String)
  • 戻り値:Blobオブジェクト
  • 説明:受け取ったBlobのデータから、zipファイル(新しいBlobオブジェクト)を作成します。
  • 公式リファレンスはこちら

スクリプトまとめ

処理の流れ

上記のスクリプトで実行してる処理の流れ(イメージ)です。コードと併せてご覧ください。

csv-zip1 csv-zip2

 

このスクリプトのポイントは、最後のcreateFileメソッドでzipファイルを作成するまでは、csvファイルの実態が目に見えないことです。Blobオブジェクト、面白いですね。