このようなシートから
1行目とデータを分けて取得してアラートに出すところまで
を実現するコード
コード.gs
function doGet() {
return HtmlService.createTemplateFromFile('index').evaluate();
}
function getData_gs() {
var ss_url = 'https://docs.google.com/spreadsheets/d/1rrKSyydtE7WxOEqnDoixhc0_KYEblWxcTVsuZbavGdE/edit#gid=0';
var ss = SpreadsheetApp.openByUrl(ss_url);
var sheet = ss.getSheets()[0];
var headers = getrow1Values(sheet);
var lastRow = sheet.getLastRow();
var lastCol = sheet.getLastColumn();
var range = sheet.getRange(2, 1, lastRow, lastCol);
var values = range.getValues();
var data = [headers, values];
return data;
}
function getrow1Values(sheet) {
var lastCol = sheet.getLastColumn();
var range = sheet.getRange(1, 1, 1, lastCol);
var row1Values = range.getValues();
return row1Values;
}
|
意訳この機能がやること 指定したHTMLファイルを表示する この機能がやること スプレッドシートのURL スプレッドシートを開いて 先頭のシートを取得して 一行目の値を取得して データが入力されている最終行を取得して データが入力されている最終列を取得して 2行目以降の最終行列の範囲を指定して その値を取得して 配列に入れて 返す この機能がやること データが入力されている最終列を取得して 1行目に入力されている値をすべて取得して 返す |
index.html
<!DOCTYPE html>
<html>
<body>
<button id="bt">getData</button>
<script>
document.getElementById("bt").onclick = getData;
function getData() {
google.script.run
.withFailureHandler(onFailure)
.withSuccessHandler(onSuccess)
.getData_gs();
}
function onSuccess(result) {
alert(result);
}
function onFailure(e) {
alert([e.message, e.stack]);
}
</script>
</body>
</html>
|

