如何将我的视图表转换为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'] %></th> <th><%= emp['full_name'] %></th> <th><%= emp['gender'] %></th> <th><%= emp['dob_date'] %></th> <th><%= emp['email'] %></th> <th><%= emp['married_status'] %></th> <th> <%= emp['father_name'] %></th> <th><%= emp['spouse_name'] %></th> <th><%= emp['contact_phone'] %></th> <th><%= emp['candidate_address2'] %></th> <th><%= emp['bank_ac'] %></th> <th><%= emp['bank_ifsc'] %></th> <th><%= emp['pan_number'] %></th> <th><%= emp['company_name'] %></th> <th><%= emp['designation'] %></th> <th> <% if emp['employee_type'] == 0 %> Internal Employee <% elsif emp['employee_type'] == 1 || emp['employee_type'] == 2 || emp['employee_type'] == 3 %> Contract Consultant Employee <% elsif emp['employee_type'] == 4 %> Permanent Consultant Employee <% elseif emp['employee_type'] == 5 %> Past Employee <% end %> </th> <th> <% if emp['status'] == 0 %> Pending <% elsif emp['status'] == 1 %> Approved <% elsif emp['status'] == 2 %> Cancelled <% elsif emp['status'] == 3 %> Accepted <% elsif emp['status'] == 4 %> Rejected <% elsif emp['status'] == 5 %> Onboarded <% elsif emp['status'] == 6 %> Offboarded <% end %> </th> <th><%= emp['joining_date'] %></th> <th><%= emp['work_end_date'] %></th> <th><%= emp['ctc'] %></th> <th><%= emp['client_address2']%></th> </tr> <% end %> </table> <br><br>` **hr_controller.rb**`def excel_file @employees = MysqlConnection.connection.select_all("SELECT * FROM Employee_Information where employee_type IN(0)") #@employees = MysqlConnection.connection.select_all("SELECT * FROM Employee_Information where employee_type IN(1,2,3)") respond_to do |format| format.html format.csv { send_data @employees.to_csv } end end` **application.rb** require File.expand_path('../boot', __FILE__) # add HR role require "csv" 

我已经创build了一个文件模块“employee_information.rb”到lib文件夹

  module EmployeeInformation def self.to_csv(options = {}) CSV.generate(options) do |csv| csv << column_names all.each do |product| csv << product.attributes.values_at(*column_names) end end end end 

这是否必须是查看表? 除非你使这种forms,没有办法做到这一点,没有使用JavaScript来parsing的DOM(或更确切地说,访问DOM中的所有元素),并获得的价值,并向控制器请求parsing的信息DOM。 如果您可以提交这种提交表单,那么将这些信息导出为ex​​cel会容易得多。 无论哪种方式,真的没有另一种方式做出这种模式的某种。