スプレッドシートのデータをCSVとしてGASで出力・保存する

GASスプレッドシートCSV
スプレッドシートのデータをCSVとしてGASで出力・保存するのサムネイル

こんにちは、GASおじだよ。今日は、中小企業やフリーランスの皆さんに耳寄りな話を持ってきたよ。Google Apps Script(GAS)を使って、スプレッドシートのデータをCSVファイルとして手軽に出力する方法を紹介しよう。外注するとバカにならないコストも、これでバッチリ削減できるからね。

なぜCSV出力が必要なのか

君たちのビジネスでは、顧客リストや財務データなどを外部ツールで解析したい場面が多いだろう。スプレッドシートでデータを管理するのは簡単だけど、それをCSV形式で出力したいってこともあるよね。普通の方法だと手作業での変換が必要だけど、GASを使えば自動化できるんだ。これがコスト削減に繋がるわけさ。

コードの紹介

さて、さっそくコードを紹介するよ。以下のスクリプトをGAS内で作成してみてくれ。

function exportSheetToCSV() {
  // シート取得
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const data = sheet.getDataRange().getValues();
  
  // CSVに変換
  const csvData = data.map(row => row.join(',')).join('\n');
  
  // CSVファイルとして保存
  const filename = sheet.getName() + ".csv";
  const folder = DriveApp.getFolderById("your-folder-id-here"); // 保存先フォルダのID
  folder.createFile(filename, csvData, MimeType.PLAIN_TEXT);
}

コードの説明

  1. シート取得:
    getActiveSpreadsheet()そしてgetActiveSheet()を使って、現在アクティブなスプレッドシートとそのシートを取得する。

  2. データの取得とCSV変換:
    getDataRange().getValues()でデータ範囲を取得し、それを二次元配列に格納する。そして、join(',')を使って各行をカンマで結合し、join('\n')で改行を行いCSVフォーマットに変換する。

  3. CSVファイルとして保存:
    createFile()メソッドを利用し、特定のフォルダにCSVファイルとして保存する。フォルダIDは事前に取得して設定しておく必要があるよ。

コスト削減の効果

これを導入すると、手作業の変換にかけていた時間を減らせる。例えば、月の稼働日数が20日で、1日あたり1万円のコストがかかると仮定すると、2〜3万円ほどの節約になる試算だ(あくまで前提条件によって変わる目安だよ)。浮いたぶんをメンバーシップに回せば、GASおじラボの500ツールも使い放題になるよ!

まとめ

スプレッドシートのデータを簡単にCSV形式で出力できるGASの活用術、どうだったかな?ちょっとした工夫で仕事の効率がガラリと変わるからね。外部の課金サービスに頼らず、手軽に自前でやってしまおう。

もし役に立ったと思ったら、ぜひGASおじラボで500ツール使い放題 →を活用してみてくれ。これからも君たちのビジネスをガッツリ支えていくからね!