スプレッドシートのデータを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);
}
コードの説明
シート取得:
getActiveSpreadsheet()そしてgetActiveSheet()を使って、現在アクティブなスプレッドシートとそのシートを取得する。データの取得とCSV変換:
getDataRange().getValues()でデータ範囲を取得し、それを二次元配列に格納する。そして、join(',')を使って各行をカンマで結合し、join('\n')で改行を行いCSVフォーマットに変換する。CSVファイルとして保存:
createFile()メソッドを利用し、特定のフォルダにCSVファイルとして保存する。フォルダIDは事前に取得して設定しておく必要があるよ。
コスト削減の効果
これを導入すると、手作業の変換にかけていた時間を減らせる。例えば、月の稼働日数が20日で、1日あたり1万円のコストがかかると仮定すると、2〜3万円ほどの節約になる試算だ(あくまで前提条件によって変わる目安だよ)。浮いたぶんをメンバーシップに回せば、GASおじラボの500ツールも使い放題になるよ!
まとめ
スプレッドシートのデータを簡単にCSV形式で出力できるGASの活用術、どうだったかな?ちょっとした工夫で仕事の効率がガラリと変わるからね。外部の課金サービスに頼らず、手軽に自前でやってしまおう。
もし役に立ったと思ったら、ぜひGASおじラボで500ツール使い放題 →を活用してみてくれ。これからも君たちのビジネスをガッツリ支えていくからね!