我在irb中运行以下代码:
irb(main):001:0> require 'rubygems'
=> false
irb(main):002:0> require 'roo'
=> true
irb(main):003:0> s = Excel.new("/Users/tangmonk/Desktop/zhongshikehua/import.xls")
NameError: uninitialized constant Excel
我试图联系宝石作者,但我没有得到回复。
我只想阅读一个excel文件,如果这个宝石效果不好,有人可以推荐其他宝石。
答案 0 :(得分:6)
尝试以下代码:
require 'rubygems'
require 'roo'
Roo::Excel.new("/Users/tangmonk/Desktop/zhongshikehua/import.xls")
查看文档 - Usage并查看此GitHub Issue。
答案 1 :(得分:0)
是的Arup钉了它。我在使用roo将xls转换为csv时遇到了同样的问题。
error
我在加入之前得到了...... Roo :: Excel .....
': uninitialized constant Excel (NameError)
from rooxls2csv.rb:7:in `glob'
工作代码。
#!/usr/bin/env ruby
require 'rubygems'
require 'roo'
pwd = File.dirname(__FILE__)
Dir.glob("#{pwd}/*.xls") do |file|
file_path = "#{pwd}/#{file}"
file_basename = File.basename(file, ".xls")
xls =Roo::Excel.new(file_path)
xls.to_csv("#{pwd}/#{file_basename}.csv")
end