читатель ruby ​​excel, гем электронных таблиц - PullRequest
6 голосов
/ 02 сентября 2011

Я пытаюсь прочитать файл Excel в ruby, а затем взять данные и вставить их в базу данных mysql.Я использую таблицы :: Excel и MySQL драгоценных камней.по какой-то причине я не могу использовать гем таблицы для открытия файла для чтения ... это мой код

require 'rubygems'
require 'spreadsheet'
require 'mysql'

Spreadsheet.client_encoding = 'UTF-8'

book = Spreadsheet.open '/home/data/teams.xlsb'

b1 = book.worksheet('team1')

я получаю эту странную ошибку при запуске скрипта

/usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:376:in `validate!': OLE2 signature is invalid (Ole::Storage::FormatError)
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:368:in `initialize'
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:110:in `new'
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:110:in `load'
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:77:in `initialize'
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:83:in `new'
    from /usr/local/lib/ruby/gems/1.8/gems/ruby-ole-1.2.11.1/lib/ole/storage/base.rb:83:in `open'
    from /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.5.8/lib/spreadsheet/excel/reader.rb:1144:in `setup'
    from /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.5.8/lib/spreadsheet/excel/reader.rb:121:in `read'
    from /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.5.8/lib/spreadsheet/excel/workbook.rb:32:in `open'
    from /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.5.8/lib/spreadsheet.rb:62:in `open'
    from /usr/local/lib/ruby/gems/1.8/gems/spreadsheet-0.6.5.8/lib/spreadsheet.rb:68:in `open'
    from sizes_importer2.rb:7

Я где-то читал, что этот камень может не поддерживать файлы .xlsb.я не знаю, правда ли это или нет, но может ли кто-нибудь сказать мне, как это обойти, или что-то не так?Я совершенно потерян и был бы признателен за любую помощь с этой ошибкой.спасибо

1 Ответ

5 голосов
/ 02 сентября 2011

Ты уже заглянул в роу? -> http://rubygems.org/gems/roo

...