我对红宝石很新,它让我惊讶;)。尽管如此,我在尝试使用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,如果这有任何区别的话。答案 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我发现这是 找到的最佳参考。祝你好运!
顺便说一句,如果您提供了确切的错误,并且最好是您收到的堆栈跟踪,我本可以给您更多的帮助。