Tag: roo

Roo :: spreedsheet不能打开excel文件

我试图用Roo::Spreadsheet打开Excel文件,但它不起作用。 workbook = Roo::Spreadsheet.open(file) 我的文件的xls扩展名。 我只能读取它,当我打开我的机器上的文件,我保存为(.xls)。 我不明白的是我的原始文件也是.xls文件。 总结: original_file.xls 然后: workbook = Roo::Spreadsheet.open(file) 结果:不起作用。 然后:我用Excel打开我的文件,并保存为(.xls)。 workbook = Roo::Spreadsheet.open(file) 结果: 它工作 请帮助一些。

使用Roo-xls gem保存Rails之前validation上传的Excel文件

在模型中,在上传.xls文件之前,我希望能够在应用程序保存excel文件之前对其进行validation。 我试图从:file_url对象(comits表中列的.xls文件将被保存)中打开要保存的excel文件,然后validation它,但我得到一个no implicit conversion of Symbol into String错误。 validation的工作,当我把一个excel文件的已经上传和保存到Roo::Excel.new("")的实际文件path,但是这打败了我的validation的目的。 我怎样才能抓住Excel文件没有被存储在应用程序? 我感谢帮助! 我希望不是太混乱。 这是我的comit.rb class Comit < ActiveRecord::Base belongs_to :user mount_uploader :file_url, ComitUploader, mount_on: :file_url validates :filename, :file_url, presence: true validates_format_of :file_url, with: /.xls/, message: "Wrong file format" before_save :validate_excel def validate_excel sheet = Roo::Excel.new(:file_url) errors = [] header = sheet.row(1) num_of_columns = sheet.last_column errors << […]

当用rails和roo导入xlsx文件时如何忽略隐藏的表格

我正在使用Roo将xlsx文件导入到我的Rails应用程序中。 import工作正常,但是,当试图做一个“工作簿”import,而不是一个“工作表”import商,我注意到有一些文件上隐藏吨大量。 例如: 在某些文件中,SUB_LABOR工作表包含应导入的重要数据。 这些不是隐藏的。 在其他文件中,SUB_LABOR被用作暂存区,然后隐藏,以便使用该表的人不会使用它。 我希望我的import商在工作簿中阅读并parsing没有隐藏的表格,并忽略那些表格。 我发现隐藏的值存储在<Nokogiri::XML::Attr:[a hex value] name="state" value="hidden">下的excelx对象中 有没有办法从对象中挖掘出这些信息并采取行动? 整个对象都是大的方式来张贴在这里。

尝试打开我的XLS文件时,OLE2签名无效

我正在使用Roo gem和下面的代码: Roo::Excel.new(file.path) 这引起了以下例外: Ole::Storage::FormatError: OLE2 signature is invalid 该文件我使用它的.xls,当我打开它,并重新从LibreOffice保存它只是工作。 这是为什么?

如何用roo打开xls文件

我有一个“.xls”文件,我必须用roo打开它,它必须用耙子打开。 这是我的耙文件: require 'roo' namespace :exel do task open: :environment do workbook = Roo::Excel.new("lib/tasks/users.xls") password_length = 6 password = Devise.friendly_token.first(password_length) p password username = "#{workbook.row(5)[0]}#{workbook.row(5)[1]}".slice!(0..7).downcase p username test_user = User.create!(email: 'someone@something.com', f_name: workbook.row(5)[0], l_name: workbook.row(5)[1], username: username, validity_date: workbook.row(5)[3], :password => password, :password_confirmation => password) p test_user end end 而当我运行耙:exel,我得到一个Ole::Storage::FormatError: OLE2 signature is invalid错误。 从roo […]

导出Excel(xls或xlsx或CSV)工作表,并在列上应用validation/规则

我想导出一个模板的Excel工作表,以便用户可以填写它,并可以上传他们的数据。 在导出的工作表中,我想对列值进行一些validation或规则 。 因此,用户只能按照所应用的规则来填充值,其可以是仅数字或4-5个唯一值(例如颜色 – 仅蓝色,绿色,黑色)。 到目前为止,我已经通过Roo和Spreadsheet gem的文档,find任何方式来定义列的规则,但没有find任何东西。 现在只需在用户上传时validation工作表,如果插入了无效值,则显示错误。 寻找像这样的解决scheme – 如何在使用POI生成的Excel表格中创build相关的下拉菜单? 欢迎任何帮助。