我需要用ruby读取.xlsx文件

时间:2014-09-13 22:00:53

标签: ruby excel

我对红宝石很新,它让我惊讶;)。尽管如此,我在尝试使用ruby从Excel文件中读取一些信息时遇到了一些麻烦。

这是我所拥有的,基于我在网上阅读和研究过的其他帖子。提前谢谢。

require 'spreadsheet'

doc = Spreadsheet.open('SomeName.xlsx')

sheet = doc.worksheet(0)

value = sheet[10,0]

puts value

我收到的错误消息如下:验证!在OLE32中无效,有很多关于,初始化,新建,打开,读取等的事情。

P.S:我使用的是ruby 2.1.2,如果这有任何区别的话。

1 个答案:

答案 0 :(得分:0)

您需要使用Win32Ole库才能以这种方式与Excel进行交互。我只使用它与Outlook,不幸的是我丢失了代码(好吧,不,它只是在我的工作PC上)。通过在PC上安装办公室,可以轻松安装Win32Ole库。如果你没有安装,我建议你使用Jet / Ace驱动程序(如果有一个用于Ruby),因为即使在.NET平台上也不推荐使用interop。

您可以使用以下代码示例初始化Win32Ole实例并打开电子表格。

require 'win32ole'
xl = WIN32OLE.new('Excel.Application')
wb = xl.Workbooks.Open('c:\file.xls')

不幸的是Win32Ole rdoc相当稀疏。您需要环顾四周寻找更好的资源。 Here's我发现这是 找到的最佳参考。祝你好运!

顺便说一句,如果您提供了确切的错误,并且最好是您收到的堆栈跟踪,我本可以给您更多的帮助。