私はルビーとレールのいくつかの分野では初心者のようなものです。だから私は拡張子に応じてExcelを読み、各ルーチンで行を返すクラスを書いています。このようなもの:
class ExcelRead
(dependencies)
def initialize(path, sheet_n = 0)
type = File.extname(path)
if type == JitExcelRead::XLS
Spreadsheet.client_encoding = 'UTF-8'
book = Spreadsheet.open path
book_sheet = book.worksheet sheet_n
elsif type == JitExcelRead::XLSX
book = Creek::Book.new path
book_sheet = book.sheets[sheet_n]
end
@book = book
@book_sheet = book_sheet
@book_rows = book_sheet.rows
@path = path
@type = type
end
end
つまり、これは自分のアプリケーションを呼び出すことを意味します
xls = ExcelRead.new(uploaded_file.filename_path)
すべてがスムーズに実行されます。必要なオブジェクトを自由に使用できます。私の問題は、それらをどのように繰り返すかです。このようなクラスにメソッドを追加すると思いました
def each
binding.pry
end
私のアプリで通常どおり呼び出す
xls.book_rows.each do |row|
end
そのコードを入力する必要がありますが、実際には...
ヘルプ?