LANG SELRCT

Apps Script Reference  (Create: Create new Spreadsheet | Create new Apps Script

Sunday, January 12, 2020

スプレッドシートの行数をキーにしてオブジェクトを作りたい



こういうシートがあるときに


こういうオブジェクトにして取得したい
{
    "1": ["title", "date", "status"],
    "2": ["TITLE1", "2020/01/12", "todo"],
    "3": ["TITLE2", "2020/01/12", "doing"],
    "4": ["TITLE3", "2020/01/12", "done"]
}



コード.gs
function returnTargetSheet() {
  var ss_url = "https://docs.google.com/spreadsheets/d/1wYl-Z8FzT34Sq7cWuFZGDcR0cWX0v-s_H9Vs8Zhod1A/edit#gid=0";// todoActionsシート  
  var sheet = SpreadsheetApp.openByUrl(ss_url).getSheets()[0];
  return sheet;
}

function returnDataFromSheet(){
  var sheet = returnTargetSheet();
  var dataRangeValues = returnValues(sheet);
  var valuesObj = returnObj(dataRangeValues);
  var json = JSON.stringify(valuesObj);
  Logger.log(json);
  return json; 
}

function returnValues(sheet) {
  var lastRow = sheet.getLastRow();
  var lastCol = sheet.getLastColumn();
  var range = sheet.getRange(1, 1, lastRow, lastCol)
  var values = range.getDisplayValues();
  return values;
}

function returnObj(dataRangeValues) {
  var obj = {};
  for(var i = 0; i < dataRangeValues.length; i++) {
    var rowValues = dataRangeValues[i];
    var row = i + 1;
    obj[row] = rowValues
  }
  return obj;
}


関連記事

スプレッドシートでA列をkeyにしたオブジェクトを作る
スプレッドシートで1行目をkeyにしたオブジェクトを作る
シートのデータから配列とオブジェクトを作りたい

Latest post

英文から不要な記号を削除したい(正規表現)

今回やること Hello, how's it going? から不要な , と ? を削除して Hello how's it going にする。