Tag: ruby on rails

如何在Ruby on Rails中获取所选文件的完整path?

我在我的视图中放置了一个file_field : <% form_for(:uploaded_file, @feed, :url => {:action=>'copy'}, :html=> {:multipart=>true}) do |f| %> <%= f.file_field :uploaded_file %> <br> <%= f.submit "Submit" %> <% end %> 我有一个在我的控制器读取Excel文件的方法: def copy file = "" book = Spreadsheet.open 'excel_file' table = book.worksheet 'excel_sheet' table.each do |row| file << row end end logging请求 "authenticity_token"=>"BbQRomTLhiF2O54/G6eHwnnaWbLttUSvo31FO3ZtKoA=", "uploaded_file"=>{"uploaded_file"=>#<ActionDispatch::Http::UploadedFile: 0x27b7ab‌​0 @original_filename="test.xlsx",@content_type="application /vnd.openxmlformats-officedocument.spreadsheetml.sheet", @headers= "Content-Disposition: […]

Ransack返回过滤excel或执行过滤删除

我正在使用ransack过滤产品列表。 我现在想重复使用当前的select来返回一个Excel文件,而不是(所以我可以把一个链接放在同一页面“下载过滤产品为Excel”)或执行删除的筛选结果。 例如,被调用的URL如下所示: http://localhost:3000/products?utf8=%E2%9C%93&q%5Bstatusowner_id_or_client_producer_id_eq%5D=&q%5Bkind_eq%5D=&q%5Bstatus_eq%5D=9&commit=Select 最简单的方法,我看到返回一个Excel是传递相同的参数是通过相同的URL与唯一的补充一个.xls在产品的末尾: http://localhost:3000/products.xls?utf8=%E2%9C%93&q%5Bstatusowner_id_or_client_producer_id_eq%5D=&q%5Bkind_eq%5D=&q%5Bstatus_eq%5D=9&commit=Select 如何重新使用视图中的当前URL来创build新的URL? 然后关于批量删除:我不知道如何处理,因为我只使用RESTful路由到目前为止。 说我遵循上面的想法,并再次使用该URL,但发送到一个(还没有定义??)大规模删除行动。 我应该如何尽可能使用RESTful? 只要join方法即可:删除? 在我的控制器中,我会在哪里路由? 有点亏本。

Ruby AXLSX gem合并了一组单元格

我正在使用Ruby版本1.9.3和Rails版本3.0.20与axlsx ruby gem来生成一个文件,它有一个相当复杂的结构,涉及到cellmerging。 这个gem很棒,但是当我试图在一张纸上合并更多的一组单元时,我碰到了墙壁。 经验: 打电话后: sheet.merge_cells("A1:A2") sheet.merge_cells("B1:B2") 只有最后2个单元格( b1, b2 )被合并( a1, a2保持不变)。

试图用电子表格gem修改现有文件,Excel抱怨“缺less数据”

我正在尝试编写一个Rails应用程序来为业务自动化几个手动过程。 他们有很多不同的Excel电子表格,他们会手动input数据并在其间复制数据。 我已经成功地使用“电子表格”gem从他们现有的一些报告中读取数据(这样他们就可以填充应用程序),并从应用程序中包含的数据生成Excel报告(所以他们有一个他们适应的格式) 。 不过,这份报告引起了很多头痛。 它有两张纸 – 第一张是交互式数据透视表,第二张是提供报告的原始数据。 我不知道如何使用电子表格gem从头开始构build它(这取决于embedded在电子表格中的VB模块和数据透视表报告),所以我想我会使用现有的报告作为模板,只是将新的数据写入第二张。 我遇到的第一个障碍是文件是'UTF-16LE',但电子表格一直试图把它写成'UTF-8'。 我终于清理了,现在生成了这个文件,但是当我在Excel中打开它的时候,我得到了大量的错误信息 – “Excel在'output.xls'中发现了不可读的内容。你想恢复这个内容吗?工作簿?是否“; “文件错误:数据可能已经丢失。 然后Excel尝试“打开并修复”该文件; 那么我得到“Microsoft Visual Basic:文件未find”; “文件错误:数据可能已经丢失。” 再次。 然后报告出现 – 第二页有所有的书面数据,但第一页不起作用 – “维修”的文件状态“丢失的Visual Basic项目。数据透视表上的数据透视表'PivotTable1'是由于完整性问题而丢弃“。 任何想法为什么它是腐败/删除模板电子表格中的VB模块?

用行中的数据堆积成对的列

您好我试图sorting产品及其属性,但问题是属性的标题不是基于产品的名称和说明。 所以例如我有: Product id | attribute 1 name | attribute 1 desc | attribute 2 name | attribute 2 desc 1001 | screen size | 15" | DCR | 10,000:1 1002 | DCR | 200,000:1 | Widescreen | yes 这行继续,直到产品的许多属性。 我需要的是一些会吐出来的东西: Product id, attribute 1 name, attribute 1 desc Product id, attribute 2 name, attribute […]

在Ruby Rails中生成受密码保护的excel文件

有没有可能在Ruby中创build一个密码保护的Excel文件。 下面的Gem: https : //github.com/randym/axlsx帮助用密码“保护”一个单元格。 但是,要求有密码保护整个Excel文件,使用户不应该能够打开没有密码的工作簿。 就像我们可以从Excel自己做到的一样,在Excel中使用“使用密码encryption”选项。 任何人都知道那里是否有gem。 或者可以帮助我们encryptionExcel文件的任何代码片段或指针,这是Microsoft期望的。

使用axlsx gem编写xlsx文件时,内存使用率非常高

我使用https://github.com/randym/axlsx将数据写入xlsx文件。 编写大的xlsx文件时,我遇到内存使用问题。 这里是重现问题的代码: Axlsx::Package.new do |p| p.workbook.add_worksheet(:name => "Test") do |sheet| 41_000.times do sheet.add_row ["test data"] * 600 end end end 这需要大约6GB的RAM …有没有办法做到这一点更有效率? 或者也许有其他图书馆,这将有效吗?

如何将我的视图表转换为Excel格式

我是在轨道上的ruby新,我想出口我的视图​​表在Excel格式,我已经尝试了很多次,但我不能够导出视图表。 我在我的数据库中有一个视图(Employee_Information),所有数据显示在view.html.erb页面中,Employee_Information视图没有特定的模型。 我已经按照这个教程“ http://railscasts.com/episodes/362-exporting-csv-and-excel ”,但我这个教程从模型的帮助下从视图表导出数据到excel,我想用out模型。 **excel_file.html.erb** `<table border=1> <tr> <th>Employee ID</th> <th>Name</th> <th>Gender</th> <th>Date of birth</th> <th>Email</th> <th>Marital status</th> <th>Father Name</th> <th>Spouse Name</th> <th>Contact</th> <th>Employee Address</th> <th>Account Number</th> <th>IFSC Code</th> <th>PAN Number</th> <th>Client Name</th> <th>Designation</th> <th>Employee Type</th> <th>Status</th> <th>Joining date</th> <th>End date</th> <th>Offer CTC</th> <th>Client Address</th> </tr> <% @employees.each do |emp| %> <tr> <th><%= emp['employee_id'] […]

Rails 4/5发送Dynamic ActionMailer :: Base.mail电子邮件带有标记为Noname的附件

我看过类似的post,主要是通过创build视图和控制器来发送附件,例如: 电子邮件中的PDF附件被称为“Noname” 但我有一个进程在后台dynamic生成文件,并需要使用ActionMailer :: Base.mail将其附加到收件人列表。 以下是代码: def send_email(connection) email = ActionMailer::Base.mail(to: connection['to'], from: connection['from'], subject: 'Sample File', body: "<p>Hello,</p><p>Your data is ready</p>", content_type: 'multipart/mixed') email.cc = connection['cc'] if connection['cc'].present? email.bcc = connection['bcc'] if connection['bcc'].present? @files.each do |file| report_file_name = "#{@start_time.strftime('%Y%M%dT%I%m%s')}_#{file[0]}.xlsx" file_location = "#{Rails.root}/tmp/#{report_file_name}" email.attachments[report_file_name] = File.open(file_location, 'rb'){|f| f.read} end email.deliver if email end 我可以在日志中看到它正在发送的内容,但假设它发送为Noname,因为它无法find视图。 任何方式来获得这个成功的工作? […]

Rails – 电子表格适配器

有没有办法使用Excel电子表格“作为数据库”适配器? 而不是写任何sqlite3,PostgreSQL或MySQL等,我希望能够直接读取和写入Excel电子表格。 Sqlite3只是一个文件系统吗? 有没有人创build一个适配器只使用.xls甚至.xlsx而不是.sqlite ? 我也明白,如果它不存在,这可能很难创build。 我不确定它是如何工作的,但这不是这个问题的关键。