使用'roo'gem解析xlsx文件,加载错误:无法加载zip / zipfilesystem

时间:2013-09-11 03:59:57

标签: ruby-on-rails ruby ruby-on-rails-3.2 rubygems

在Ubuntu机器上,以下代码工作正常,

我的HTML代码,这里传递xslx文件进行解析,

<form method="post" action="/home/parse_xlsx" enctype="multipart/form-data">
   Upload XSLX File <input type="file" name="xlsx_file" id="xlsx_file"  />
   <input type="submit" value="Post"/>
</form>

我的控制器方法,

def parse_xlsx
      xlsxFile = params[:xlsx_file]
      prefix_tmp_path = xlsxFile.path
      filename = xlsxFile.original_filename

      directory = "public/"
      path = File.join(directory, filename)
      File.open(path, "wb") { |f| f.write(xlsxFile.read) }

      require 'roo'
      s = Roo::Excelx.new(path)
      for i in 2..s.count
       puts s.cell(i,1) 
      end
  end

但是在Windows机器上它会给我以下错误。 'rubyzip'宝石也包括在内。

Load Error: can not load zip/zipfilesystem

请提出一些解决方案..

1 个答案:

答案 0 :(得分:1)

请在您的Gemfile添加

中使用ruby zip&lt; 1.0.0版本
gem 'rubyzip', '< 1.0.0'

捆绑安装后请重新启动