I am using Spreadheet 0.6.4.1 and ruby 1.9.2 on Windows XP sp3.
I'm attempting to use the 'spreadsheet' gem, but I'm receiving the following error messages:
C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/encodings.rb:11:in `force_encoding': can't modify frozen string (RuntimeError)
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/encodings.rb:11:in `internal'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/biff8.rb:43:in `_unicode_string'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:508:in `block in _write_sst'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:502:in `each'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:502:in `each_with_index'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:502:in `_write_sst'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:489:in `write_sst'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:439:in `write_from_scratch'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/excel/writer/workbook.rb:620:in `write_workbook'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/writer.rb:15:in `block in write'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/writer.rb:14:in `open'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/writer.rb:14:in `write'
from C:/Ruby/lib/ruby/gems/1.9.1/gems/spreadsheet-0.6.4.1/lib/spreadsheet/workbook.rb:106:in `write'
from DorindaIARParser.rb:170:in `<main>'
Here is the offending line:
def internal string, client=Spreadsheet.client_encoding
string.force_encoding client <<== This guy
string.encode('UTF-16LE').force_encoding('ASCII-8BIT')
end
If I comment out that line, everything works fine. However, I'm hoping for a solution in my own script, to avoid telling other users of it how to hack their gems.
Also, gem worked correctly with Ruby 1.8.6, but fails with 1.9.2. Any ideas?
|