単純な.xlsファイルを作成して1つのセルにデータを書き込むスクリプトに問題があります。簡単なコードは次のとおりです。
require 'spreadsheet'
class Filter
def filter
@excel = Spreadsheet::Workbook.new
@sheet = @excel.create_worksheet
@sheet[0, 0] = "test"
@excel.write 'test.xls'
end
end
f = Filter.new
f.filter
しかし、それはエラーを引き起こします:
C:/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-ole-1.2.11.5/lib/ole/storage/base.rb:62:in
write_nonblock': Bad file descriptor - test.xls (Errno::EBADF) from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-ole-1.2.11.5/lib/ole/storage/base.rb:62:in
initialize 'from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-ole-1.2.11.5/lib/ole/storage/base.rb:78:in
new' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/ruby-ole-1.2.11.5/lib/ole/storage/base.rb:78:in
Open'from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet/excel/writer/workbook.rb:4 53:inwrite_from_scratch' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet/excel/writer/workbook.rb:6 31:in
write_workbook' from C:/Ruby193/ lib / ruby / gems / 1.9.1 / gems / Spreadsheet-0.7.4 / lib / Spreadsheet / writer.rb:15:inblock in write' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet/writer.rb:14:in
open'from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet -0.7.4 / lib / Spreadsheet / writer.rb:14:inwrite' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/spreadsheet-0.7.4/lib/spreadsheet/workbook.rb:116:in
write 'from filter.rb:10:in `filter' from filter.rb:15:in `<main>'