LoginSignup
3
1

More than 5 years have passed since last update.

Google Apps Script でスプレッドシートから Rails の Seed(seed-fu)を生成する

Last updated at Posted at 2018-01-28

こんなスプレッドシートがあるとして、

スクリーンショット 2018-01-28 12.00.13.png

「スクリプトエディタ」から、

スクリーンショット 2018-01-28 12.04.34.png

以下のような関数を作って実行する。

function companySeed () {
  const COL_INDEX_COMPANY_ID = 0;
  const COL_INDEX_COMPANY_NAME = 1;

  var sheet = SpreadsheetApp.getActiveSheet();
  var lastRowNumber = sheet.getLastRow();
  var lastColNumber = sheet.getLastColumn();

  // 見出し行は除く
  var range = sheet.getRange(2, 1, lastRowNumber - 1, lastColNumber);
  var values = range.getValues();

  var seeds = values.map(function(row) {
    var output = "";
    output += "Company.seed do |s|\n"
    output += "  s.id = " + row[COL_INDEX_COMPANY_ID] + "\n";
    output += "  s.name = '" + row[COL_INDEX_COMPANY_NAME] + "'\n";
    output += "end\n";
    return output;
  });

  Logger.log(seeds.join("\n"));;
}

実行後、ログを表示すると、

スクリーンショット 2018-01-28 12.06.02.png

できあがり。

スクリーンショット 2018-01-28 12.11.37.png

最終的にログからコピペなのがかっこ悪いので、もうちょいなんとかしたいが…。

3
1
0

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
3
1