うにてぃブログ

主にUnityとC#に関する記事を書いていきます

【Google Apps Script】doGet でシートの全データを csv 形式で返す【GAS】

https://script.google.com/macros/s/{deployId}/exec?sheetName=hoge でリクエストを投げると csv 形式でデータを全部取得できる

function doGet(e) {
  if (e.parameter == null)
    return;
 
  var sheetName = e.parameter.sheetName;
 
  var spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spreadSheet.getSheetByName(sheetName);
  if (sheet == null)
    return;
 
  var csv = "";
  var range = sheet.getDataRange();
  var values = range.getValues();
  for (var i = 0; i < values.length; i++) {
    var rows = [];
    for (var j = 0; j < values[i].length; j++) {
      rows[j] = "\"" + values[i][j] + "\"";
    }
 
    csv += rows.join(",");
    if (i < values.length - 1) {
       csv += "\r\n";
    }
  }
 
  var output = ContentService.createTextOutput();
  output.setMimeType(ContentService.MimeType.CSV);
  output.setContent(csv);
  return output;
}