LoginSignup
16
24

More than 5 years have passed since last update.

Google App Maker スプレッドシートをDBにする ~その壱 表示~

Last updated at Posted at 2018-12-20

まずはじめに

もともとGoogle Drive Tableがあったのですが新規アプリでは非推奨になり、作成できなくなりました。
https://developers.google.com/appmaker/release-notes

そこでスプレッドシートをDBにしたいなと思い汎用的なテンプレを作ってみました。
もっと良い方法があれば教えてください。

やってみましょう

まずはDBとなるスプレッドシートを用意します。
image.png

AppMakerを開き、Create New App -> Blank Application を 選択
image.png

まずはDATAを作成します。
左メニューのDATA「+」 -> Calculated を選択 -> NEXT
image.png

適当に名前を付ける -> IMPORT FIELS -> Use a Google Spreadsheet -> SLECT A SPREADSHEET...
先程作成したスプレッドシートを選択します。
image.png

作成したデータがプレビュー表示されていればNEXT

Field Typeが正しいか確認して、問題なければCREATE
image.png

作成されました。
image.png

次はスプレッドシートの内容を取得するためのserver scriptを書きます。
DATASOURCES -> testDB
image.png

スプレッドシートIDはスプレッドシートのURLから確認できます。
…/spreadsheets/d/スプレッドシートID/edit

var records = [];

var spreadsheet = SpreadsheetApp.openById('スプレッドシートID');
var sheet = spreadsheet.getSheetByName('シート名');
var values = sheet.getDataRange().getValues();

var NoColumn, CompanyColumn, StructureColumn, NameColumn;

for(var i = 0, len = values[0].length; i < len; i++){
  if(values[0][i] === 'No'){
    NoColumn = i;
  }
  if(values[0][i] === 'Company'){
    CompanyColumn = i;
  }
  if(values[0][i] === 'Structure'){
    StructureColumn = i;
  }
  if(values[0][i] === 'Name'){
    NameColumn = i;
  }
}

for (var i = 1; i < values.length; i++) {
  var record = app.models.モデル名.newRecord();
  record.No = values[i][NoColumn];
  record.Company = values[i][CompanyColumn];
  record.Structure = values[i][StructureColumn];
  record.Name = values[i][NameColumn];
  records.push(record);
}

return records;

次に表示するためもともとPAGESにあったページをRenameする
左メニューにあるウィジェットマーク -> Table をページにドラック&ドロップ
image.png

作成したDATAが選択可能になっているので選択してNEXT
EditableはチェックしないままNEXT
image.png

Sortableもチェックを外してFINISH
image.png

こんな感じになっていればOK
image.png

実際に表示されるか確認してみます
PREVIEを押す(初回はパーミッション、スコープを許可する必要がある)
image.png
表示されましたね
その壱は以上になります。

16
24
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
24