LANG SELRCT

コードを書く場所

2020年1月12日日曜日

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



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


こういうオブジェクトにして取得したい
{
    "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にしたオブジェクトを作る
シートのデータから配列とオブジェクトを作りたい

最新の投稿

デフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えたい

Google Apps ScriptではデフォルトのGCPプロジェクトを標準のGCPプロジェクトに切り替えることができる。 順を追ってやってみたので、ステップ化して書き残しておきます。 STEP1 標準のGCPプロジェクトについて確認する まずは、St...