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

一旦你加载了工作表(这就是你对“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 回答
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 回答