[英]no implicit conversion of Symbol into Integer using Roo gem / XLS, XLSX, CSV File imports
[英]Unable to convert .xls to .csv using Roo
我的代碼的目標是處理目錄中的所有.xls文件,並將它們全部轉換為.csv。 這在過去一直有效,但是在更新Ruby和Roo之后,它顯示了以下錯誤。 我正在使用Ruby 1.9.3-p362和Roo 1.11.2。
require 'rubygems'
require 'csv'
require 'iconv'
require 'mysql2'
require 'mysql'
require 'roo'
begin
Dir["#{@work_path}/*.xls"].each do |file|
begin
file_path = "#{file}"
file_basename = File.basename(file, ".xls")
xls = Excel.new(file_path)
xls.to_csv("#{@kenshoo_work_path}#{file_basename}.csv")
@log.info("Converted file #{file}")
FileUtils.remove(file)
@log.info("Deleted file #{file}")
rescue Exception => e
@log.warn("Unable to convert file: #{file_basename} into csv because #{e.message}")
end
end
end
對於每個文件,我都會收到以下錯誤消息:
Unable to convert file: #{file} into csv because uninitialized constant Excel
任何幫助表示贊賞。 謝謝。
roo
在Roo::
名稱空間中具有Excel
類。 您需要將所有Excel
實例替換為Roo::Excel
較早的版本在Roo::
下沒有命名空間類,因此可以解釋為什么代碼在更新后會中斷。
新的存儲庫在這里: https : //github.com/Empact/roo
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.