从excel填充时,Ruby(鞋子)列表框崩溃

时间:2011-09-20 19:54:33

标签: ruby excel shoes win32ole

使用鞋子时遇到问题。我基本上试图打开一个excel文档并将工作表的名称传递给list_box。选择文件后,按下按钮会调用以下方法。 (这一切都有效,文件打开)

exc = WIN32OLE::new('excel.Application')
excWB = exc.Workbooks.Open(xlsFile)
@excWS = Array::new
exc.visible = true
excWB.Worksheets.each { |ws| @excWS.push(ws.name) }
para @excWS
list_box :items=> @excWS  

不仅名称没有显示在list_box中,应用程序在加载框后很快崩溃,没有错误。 para @excWS显示工作表的名称没有问题。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

这是问题的编码 这工作

Shoes.app :width => 400, :height => 340, :size => 8 do
  require 'win32ole'
  exc = WIN32OLE::new('excel.Application')
  excWB = exc.Workbooks.Open('C:/Shoes/0.r1514/test/book1.xls')
  @excWS = Array::new
  exc.visible = false
  excWB.Worksheets.each { |ws| @excWS.push(ws.name.force_encoding("UTF-8")) }
  list_box :items=> @excWS
  exc.ActiveWorkbook.Close(0);
  exc.Quit();
end