Tag: ruby on rails

导轨5 – 导出到XL / CSV,但通过关联

我一直在CSV / Excel Export上关注这个Railscast ,但是我在关联逻辑上遇到了一些问题。 CSV混淆/问题 在我的Collection Model我有 class Collection < ApplicationRecord belongs_to :user has_many :card_collections has_many :cards, through: :card_collections def self.to_csv attributes = %w{name} CSV.generate(headers: true) do |csv| csv << attributes all.each do |collection| csv << attributes.map{ |attr| collection.send(attr) } end end end # validates :user_id, presence: true end CSV导出 name Demo 2 HEHHEHEEHHE […]

Rails 5.0.1渲染到Excel不起作用

我有一个应用程序,帮助学校跟踪学生参加体育运动和游戏,我有我所有的索引行动,以呈现HTML,CSV和XLS格式,一切都好。 我有一个特殊的报告,使用几个模型关系来完成,我不需要渲染csv(我认为这将是太复杂的实施to_csv方法,我什至不知道把它放在哪里,但这是不是我的问题),现在我创build了equipos_controller#forma_rep方法和一个窗体相关的视图来获取报表参数,正如你可以在路由和控制器代码中看到的,当你的报表动作呈现默认的HTML可以在以下日志中看到,“forma_rep.html.erb”表单中的参数在params数组中。 Started POST "/equipos/reporte_asist" for 127.0.0.1 at 2017-01-05 18:37:51 -0600 Processing by EquiposController#reporte_asist as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"IP1O2bSgkGcSaUn5Sf9Tnp30yzxfP10+cA0h/1+XudoR7W8SoP6xveP3fwJpLFTvyRaBFdtqsqz5pCfYID5b5Q==", "entrenador"=>"1", "inicio"=>"2016-12-12", "final"=>"2016-12-20", "commit"=>"Crear Reporte"} … most SQL ommited Rendering equipos/reporte_asist.html.erb within layouts/application Rendered equipos/reporte_asist.html.erb within layouts/application (69.4ms) Rendered layouts/_shim.html.erb (0.5ms) CACHE (0.0ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT ? [["id", 1], ["LIMIT", […]

Ruby导入csv时跳过现有的logging

我的问题是,我必须导出一个Excel表格保存一些行到数据库没有重复或冗余,所以我开始导入CSV而不是XLS,然后当我完成我可能能够parsingxls这是我的模型代码: require 'csv' class Machine < ActiveRecord::Base def self.assign_row(row) a, b, c, d = row @c = c.slice(1,4) Machine.create(name: c, mid: @c) end def self.import(file) CSV.foreach(file.path) do |row| machine = Machine.assign_row(row) end end end 在machines_controller中导入方法 def import count = Machine.import params[:file] redirect_to machines_path, notice: "file imported successfully!" end 迁移代码 def change create_table :machines do |t| […]

轨道中的未知属性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 […]

使用Paperclip,S3和Roo导入excel文件

我试图使用Paperclip导入一个Excel文件,并将其保存到S3,然后使用Roo gem提取和parsing。 当我尝试这样的事情: @excel = Excel.new(@manifest.attachment.url) 我得到以下错误: http://s3.amazonaws.com/mybucket/attachments/22/manifest.xls?1343835058 is not an Excel file 我猜附加的时间戳文件的结尾是导致Roo不认为这是一个Excel文件。 我该如何解决?

只导入大量的数据进行testing。

这是一些背景: 我有一个客户端,要求我testing一个Rails应用程序,对抗表单页中的大量潜在input。 他有一个包含大约200个潜在input组合的Excel电子表格,这些input组合将被input到表单中。 客户希望应用程序能够“阅读”电子表格并执行几百个表单提交。 我的解决scheme是将电子表格导入到数据库表中,但客户端不需要在应用程序中使用额外的数据库表。 所以这里是一个问题: 读取/抓取电子表格或csv文件来完成上述操作,或只将数据导入到testing数据库中是否可能/不是特别复杂? 我一直无法find任何与简单导入电子表格无关的资源。 谢谢!

如何使用RubyreplaceCSV中指定列的值?

我有一个CSV,第一列给出了工作日。 但问题是,我需要在MATLAB中使用CSV,它不允许string值。 所以,我想把星期天的星期一换成7,…,星期一换成1。 但是我似乎无法在Ruby中find这样的方法。 我无法手动打开Excel,因为文件大小很大。 具体来说,我在解决如何访问和指向我想在Ruby中的特定列的语法有问题。 例如,如果该文件将在MATLAB中加载,并且如果由于某种原因仍然需要将工作日转换为数字,那么我会写一个简单的代码: for i=1:length(Columns(:,1)) if Columns(i,1)=='sunday' Columns(i,1)=7 elseif Columns(i,1)=='saturday' Columns(i,1)=6 elseif Columns(i,1)=='friday' Columns(i,1)=5 elseif Columns(i,1)=='thursday' Columns(i,1)=4 elseif Columns(i,1)=='wednesday' Columns(i,1)=3 elseif Columns(i,1)=='tuesday' Columns(i,1)=2 elseif Columns(i,1)=='monday' Columns(i,1)=1 end end 所以,我在计算这个语句的Ruby等价物时遇到了问题: for i=1:length(Columns(:,1)) 任何帮助表示赞赏。 谢谢。

rails – 使用电子表格将数据插入到行

我想在数据库上“运行”迭代,并将数据插入到行中。 但是,我一直得到同样的错误 “TypeError:没有将Spreadsheet :: Row隐式转换为Integer” 我的代码看起来像这样: book = Spreadsheet::Workbook.new sheet1 = book.create_worksheet sheet1.row(0).push "Time", "Name", "Phone", "Email" [0,1,2,3].each{|col| sheet1.column(col).width = 19} sheet1.each do |row| object.each do |o| sheet1.(row).push o.time, o.name, o.phone, o.email end end book.write '../excel.xls' 谢谢你们!

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) 结果: 它工作 请帮助一些。

Rails将excel文件的列映射到db列

我正在开发一个引擎,我正在使用Roo gemparsing一个excel文件。 我面临的问题是,我不知道如何映射列。 例如,我的db-table有列first_name , last_name , emp_id ,等等。但是我的excel文件可以有任何列名,例如它可以是fname , lname , e_id , designation或者它可以是FirstName , LastName , EmployeeId等。 现在,我如何映射数据,以便将其存储在相应的列中。 我检查了这个问题,但我如何设置别名,因为我的Excel列标题可以是任何东西。 如果可以别名请告诉我,我可以做到这一点。 这是我第一次使用rails引擎。 另外我是新来的ruby。 任何帮助,将不胜感激。