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