こんなスプレッドシートがあるとして、
「スクリプトエディタ」から、
以下のような関数を作って実行する。
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"));;
}
実行後、ログを表示すると、
できあがり。
最終的にログからコピペなのがかっこ悪いので、もうちょいなんとかしたいが…。