Google Apps Script

GAS(Google Apps Script)でテキストファイルやCSVファイルを出力する方法

スポンサーリンク

概要

Google Apps Script(GAS)でスプレッドシートの情報を、テキストファイルやCSVファイルなどの出力をする方法です。

今回は、スプレッドシートに以下のような都道府県名のデータがあり、CSVファイル出力をしたいとします。

ソースコード

スクリプトエディタを開く

スプレッドシートのスクリプトエディタを開きます。

ソースコード

/**
 * スプレッドシートの内容をCSVファイルへ出力
 */
function outputCsvFile() {

  // 出力するフォルダのIDをプロパティより取得
  const folderId = PropertiesService.getScriptProperties().getProperty("FOLDER_ID");

  // 出力するファイル名
  const fileName = '都道府県.csv';

  // アクティブなシートを取得
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // テキストに出力する範囲のデータを取得(A列、B列に入力されているデータを取得)
  let values = sheet.getRange(1, 1, sheet.getLastRow()).getValues();

  // 改行で連結(複数列の場合はカンマ区切り)
  let contents = values.join('\n');

  // テキストファイル書き出し
  createTextFile_(folderId, fileName, contents);
}

/**
 * CSVファイル書き出し
 * @param {string} folderId フォルダID
 * @param {string} fileName ファイル名
 * @param {string} contents ファイルの内容
 */
function createCsvFile_(folderId, fileName, contents) {  

  // コンテンツタイプ
  const contentType = 'text/csv';
  
  // 文字コード
  const charset = 'UTF-8';

  // 出力するフォルダ
  const folder = DriveApp.getFolderById(folderId);

  // Blob を作成する
  const blob = Utilities.newBlob('', contentType, fileName).setDataFromString(contents, charset);

  // ファイルに保存
  folder.createFile(blob);
}

ソースコードの解説

7行目は、プロパティよりCSVファイルを出力するフォルダのフォルダIDを取得しています。

10行目は、出力するファイル名を設定してください。今回はわかりやすく「都道府県.csv」としています。

13行目は、スプレッドシートのアクティブシートを取得しています。
他にもシートがある場合は、実行時は出力をするシートを開いてから実行をしてください。

16行目は、ファイルに出力をするデータを取得しています。A1から、入力されている最終行、B列までを取得しています。

19行目は、配列で取得されたデータを文字列に変換をしています。’\n’で連結することで改行して出力され、複数列の場合はカンマ区切りの文字列となります。

22行目は、31行目からの”createCsvFile_”というメソッドを呼び出しています。

34行目は、コンテンツタイプを設定しています。CSVファイルの場合は「text/csv」、テキストファイルの場合は「text/plain」のように出力する種類によって変更をしてください。

37行目は、文字コードを設定しています。環境に合わせて、「UTF-8」「Shift -JIS」などを設定してください。

40行目は、出力するフォルダを取得しています。

43行目は、ファイルへ出力するためのBlobと言われるデータを作成しています。

46行目は、ファイルに保存をしてファイル出力をしています。

実行方法

プロパティの設定

  1. CSVファイルを出力するフォルダのフォルダIDを確認します。
  1. プロパティに「FOLDER_ID」を、値にCSVファイルを出力するフォルダIDを設定をします。

実行

メニューで「outputCsvFile」が選択されていることを確認して、「実行」をクリックします。

出力されたCSVファイルの確認

指定したフォルダへ、「都道府県.csv」というファイルが出力されます。
ファイルの内容は、以下のキャプチャのようになります。

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