Tag: roo gem

轨道中的未知属性5

嘿,我想从我的工作表导入一个Excel文件到数据库,但我不知道有什么不工作得到未知的属性: 我的表是这样的: name title jalebi samosa s1 s2 s3 1 4 7 7 7 7 7 2 5 6 6 6 6 6 3 6 5 5 5 5 5 4 7 4 4 4 4 4 我的移民是: class CreateTest3s < ActiveRecord::Migration[5.1] def change create_table :test3s do |t| t.string :name t.string :title t.string :jalebi t.string […]

如何使用Roo :: Excel保存修改的Excel文件?

我使用Roo :: Excel打开了一个现有的excel文件。 我也能够修改内容。 问题是我不知道如何保存它。 Roo:Excel只是为了阅读吗? 如果不是,我如何保存更改?

如何把Roo Excel表格中的数组放在二维数组中

我使用ruby中的roo-gem来获得excel表单元值。 我有一个文件'ruby.rb': require 'spreadsheet' require 'roo' xls = Roo::Spreadsheet.open('test_work.xls') xls.each do |row| p row end 我运行ruby ruby​​.rb时在terminal输出的是: ["id", "header2", "header3", "header4"] ["val1", "val2", "val3", "val4"] ["val1", "val2", "val3", "val4"] 当我添加: require 'spreadsheet' require 'roo' xls = Roo::Spreadsheet.open('test_work.xls') xls.each do |row| two_dimensional = [] two_dimensional << row p two_dimensional end 我得到: [["id", "header2", "header3", "header4"]] [["val1", […]

Rails 4:如何直接从URL导入Excel文件?

在这里导航并search“下载所有控股”,你会到达我想要抓取的文件(标题和单元格内容)的链接。 当我通过表链接(不是表格内容)时,使用open-uri或者Roo返回页面源代码。 使用Ruby,我怎样才能读取这个文件的内容? 我最好喜欢提取内容并将原始文件保存为只读格式。 注:我已经使用机械化/ Nokogiri刮,并希望补充/validation我与上述链接的Excel文件的刮。

格式化Excel中的单元格从数字到文本的轨道

我已经提出了一个应用程序,我已经提供了从CSV和Excel文件导入logging的function。 我正在使用roo gem。 logging添加成功,但问题是在从Excel导入logging的时候,它增加.0到每个字段是数字。 我不想要它,因为我有一些像enrollmen_no,roll_no,contact_no这样的字段,它会在每个23到23.0的字段中加上.0。 我已经把这些提交到数据库varchar现在我想格式的数字文本的Excel单元格。 这将解决我的问题。 告诉我如何格式化Excel单元格从数字到string使用轨道。 这是我的导入文件的代码: student.rb: def self.import(file, current_organization_id) spreadsheet = open_spreadsheet(file) header = spreadsheet.row(1) (2..spreadsheet.last_row).each do |i| row = Hash[[header, spreadsheet.row(i)].transpose] record = Student.find_by(:organization_id => current_organization_id,:enrollment_no => row["enrollment_no"]) || new record.organization_id= current_organization_id record.attributes = row.to_hash.slice(*row.to_hash.keys) record.save! end end def self.open_spreadsheet(file) case File.extname(file.original_filename) when ".csv" then Roo::CSV.new(file.path) when ".xls" then Roo::Excel.new(file.path) […]

修剪尾随.0

我有一个包含部件号的Excel列。 这里是一个例子 正如你所看到的,它可以有很多不同的数据types: Float , Int和String 。 我正在使用roo gem来读取文件。 问题在于roo将整数单元解释为Float ,为它们添加尾随零(16431 => 16431.0)。 我想修剪这个尾随零。 我不能使用to_i因为它会修剪所有需要十进制的单元格的尾部数字(上面的例子中的第一行),并且会在String行中的一个stringstring后面的所有内容(在上面的例子中是最后一行)。 目前,我有一个方法,检查单元格的最后两个字符,并修剪它们,如果他们是“.0” def trim(row) if row[0].to_s[-2..-1] == ".0" row[0] = row[0].to_s[0..-3] end end 这工作,但感觉可怕,哈克。 将我的Excel文件内容导入到Ruby数据结构中的正确方法是什么?