Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Ruby脚本打开多个Excel文件?_Ruby_Excel_Parsing - Fatal编程技术网

如何使用Ruby脚本打开多个Excel文件?

如何使用Ruby脚本打开多个Excel文件?,ruby,excel,parsing,Ruby,Excel,Parsing,我正在编写一个ruby脚本来迭代一个文件,该文件包含要在Microsoft Excel中打开的文件路径列表。我是这样读文件的: file_names = IO.readlines('D:\TEST_1\file_names.txt') 接下来,我从解析文件的每一行创建一个文件名数组(因此包含一个文件路径数组)。最后,我使用以下代码循环该数组以打开文档: require 'win32ole' xl = WIN32OLE.new('Excel.Application') xl.Visible =

我正在编写一个ruby脚本来迭代一个文件,该文件包含要在Microsoft Excel中打开的文件路径列表。我是这样读文件的:

file_names = IO.readlines('D:\TEST_1\file_names.txt')
接下来,我从解析文件的每一行创建一个文件名数组(因此包含一个文件路径数组)。最后,我使用以下代码循环该数组以打开文档:

require 'win32ole'
xl = WIN32OLE.new('Excel.Application')
xl.Visible = 1
file_names.each do |file_name|
wb1=xl.Workbooks.Open(file_name)
ws1=wb1.worksheets(1)
end
第一次调用parse
file_names.txt
会产生此异常,我很难理解:

Test4.rb:6:in'method_missing' OLE错误代码:Microsoft Office中的800A03EC 找不到Excel“D:\Test\u 1\1.xlsx”。检查单词的拼写 文件名,并验证文件位置是否正确

如果您试图从最近使用的列表中打开文件 文件,请确保该文件未被重命名、移动或删除 人力资源错误代码:发生0x80020009异常。来自Test4.rb:6:in Test4.rb:5:in中的“block in”和Test4.rb:5:in中的“each” ''


当我将单个文件名(而不是文件路径)作为参数传递时,不会出现此错误-那么为什么我在这里得到它?任何帮助都将不胜感激。

乍一看,您使用的不是变量“file\u name”,而是一个符号:file\u name

file_array.each do |file_name|
  wb1=xl.Workbooks.Open(file_name)
  ws1=wb1.worksheets(1)
end

我在排除故障时更改了编辑。我尝试了符号。即使使用变量,我也有相同的问题。。。