1

次のコードを使用して、Spreadsheetgem を使用して Excel ファイルを読み込んでいます。

require 'spreadsheet'
Spreadsheet.client_encoding = 'UTF-8'    

book = Spreadsheet.open('C:\Users\Lev Berlin\Documents\Personal\Projects\FactsRus\Nutritional Analysis Models\Data for Rails model import.xls')
sheet1 = book.worksheet('Sheet1')

しかし、ファイルが正しく読み取られていません。

別のファイルの行のコメントを外すとrequire 'parseexel'、ファイルは適切に処理されます。

私を助けてください; ここで何が問題なのですか?

前もって感謝します。

4

2 に答える 2

0

以下のように使用してみてください..

require 'spreadsheet'


@workbook = Spreadsheet.open(MyFile.first.attachment.to_file)

@worksheet = @workbook.worksheet(0)

0.upto @worksheet.last_row_index do |index|


  row = @worksheet.row(index)

  @contact = Contact.new
  #row[0] is the first cell in the current row, row[1] is the second cell, etc...
  @contact.first_name = row[0]



 @contact.last_name = row[1]

  @contact.save

end
于 2013-07-05T06:14:48.267 に答える
0

ワークシートをロードしたら (これは "sheet1 = ... で行ったことです)、そのシートから行を読み取る必要があります。次のように行います。

sheet1.each do |row|
    # do something interesting with a row
  end

詳細については、 http://spreadsheet.rubyforge.org/files/GUIDE_txt.htmlを参照してください。

于 2012-09-06T13:57:59.493 に答える