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