LoginSignup
3
3

More than 3 years have passed since last update.

Google Apps Scriptでカンマが含まれたデータのあるシートをCSV出力する方法

Last updated at Posted at 2019-06-20

GASでCSV出力処理

Google Apps ScriptでCSV出力したかったのだけど、
データにカンマ(,)が含まれてて、サンプルソース調べたんだけど、
ジャストな記事がなかったので、あきらめて自作。
その結果を残しておく。

コード

//出力先のフォルダIDを入力。IDはURL参照。
var folderId = '(フォルダIDを記入)';

//ボタンから呼び出す処理
function createCsv() {
  var csvData = loadData('(シート名を記入)');
  writeDrive(csvData,'(出力ファイル名を記入)');
}

//CSV形式データ作成処理
function loadData(sheetName) {
  var data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(sheetName).getDataRange().getValues();
  var csv = '';
  var rows = data.length;
  var cols = data[0].length;

  for(var r = 0; r < rows; r++) {
    for(var c = 0; c < cols; c++) {
      csv += '"' + data[r][c] + '"' + ',';
    }
    csv += '\r\n';
  }

  return csv;
}

//CSVファイル出力処理
function writeDrive(csvData, fileName) {
  var drive = DriveApp.getFolderById(folderId);
  var contentType = 'text/csv';
  var charset = 'utf-8';
  var blob = Utilities.newBlob('', contentType, fileName).setDataFromString(csvData, charset);
  drive.createFile(blob);
}

備考

GASのシンタックスハイライトって、何選べばいいのかな。
とりあえず、JavaScriptにしておいた。

""で括るかどうかとか、区切り文字何にするかとかそのうち全部指定できるように作り変えたいな。
行末のカンマとかあるし。

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3