GASでテキストやCSVを、ドライブに置く

GAS

GASでテキストやCSVを、ドライブに置くときに意外と見落としがちなのが、Googleドライブ側でのファイル形式の認識です。単にファイル名の拡張子を「.csv」にして文字列データを流し込んだだけだと、ドライブ上でダブルクリックしたときに単なるテキスト扱いされてしまい、スプレッドシートとしてプレビューしにくいことがあります。

MimeTypeの指定を忘れたときの挙動

Googleドライブ内にテキストファイルを新規作成する際、ファイル名と中身の文字列だけを渡すと、標準のテキストファイルとして処理されがちです。CSVを作るのであれば、明示的に「これはCSV形式である」と指定しておかないと、書き出した後のファイル確認でひと手間増えてしまいます。

指定した形式でドライブにファイルを直接生成する

文字列データからテキストファイルやCSVファイルを直接生成してドライブに保存するコードです。createFileメソッドの3つ目の引数で形式を固定します。

const folder = DriveApp.getRootFolder();
const content = "ID,Name\n1,Tokyo\n2,Osaka";
folder.createFile("export_data.csv", content, MimeType.CSV);

MimeType.CSVやMimeType.PLAIN_TEXTを指定して適切なファイル形式で保存します。これにより、出力されたファイルをブラウザから開く際の挙動が本来の想定通りになります。

エクスポートやバックアップ処理での活用

スプレッドシートのデータをCSV文字列に整形して自動バックアップする処理に便利です。シート上のデータを取得し、カンマ区切りと改行でつないだ文字列を生成してからこのコードに渡せば、日次のデータエクスポートなどを完全に自動化できます。

タイトルとURLをコピーしました