前提・実現したいこと
google apps scriptを使って、html内で値を指定し、
データベースとしたスプレッドシートからその値を含む行データを検索し、
htmlのテーブルに反映したい。
発生している問題・エラーメッセージ
二次元配列に上手く格納できない
該当のソースコード
code.gs
function doGet() {
var html = HtmlService.createTemplateFromFile('index');
return html.evaluate();
}
function SelectData( form ) {
var ss = SpreadsheetApp.openById('シートID'); //スプレッド取得
var sheet = ss.getSheetByName("データベース"); //シート取得
var lastRow=sheet.getLastRow();
Logger.log(form.selectindex);
var j=0;
var values = [];
for(var i = 2;i <= lastRow;i++){
var val = sheet.getRange(i, 8).getValue();
if ( val == form.selectindex ) { values[j]=sheet.getRange(i,1,1,8).getValues(); j++; }
}
Logger.log(values);
return values;
}
index.html
<!DOCTYPE html> <html> <head> <title>スプレッド読込みテスト</title> <!--クライアントスクリプト--> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> $(function() { $('#edit input[type="submit"]').click(function(e) { e.preventDefault(); google.script.run.withSuccessHandler(dispLoginData).SelectData(this.parentNode); }); });function dispLoginData(Data) { // スプレッドシートから取得した情報を元にテーブルを構成
var td = '';
for (var i=0; i<Data.length; i++) {
td +='<tr>';
for(var j=0; j<Data[0].length; j++){
td += '<td>' + Data[i][j] + '</td>';
}
td +='</tr>'
}
window.confirm(td);
$('#loginTr').html(td);
}
</script>
</div> </body> </html><form name="form1"> タスク:<select id="selectindex" name="selectindex"> <option value="A">A</option> <option value="B">B</option> <option value="C">C</option> </select> <input id="submitbutton" name="submitbutton" type="submit" value="内容表示"> </form> <br> <table class="table table-bordered table-striped"> <tr> <th>受注番号</th> <th>ID</th> <th>依頼者名</th> <th>URL</th> <th>〒</th> <th>住所</th> <th>電話番号</th> <th>タスク</th> </tr> <tr id="loginTr"> </tr> </table>
試したこと
コード.gsの二次元配列へ格納できるようにしたいけど、
色々試してみたけど出来ませんでした。
回答2件
あなたの回答
tips
プレビュー