ruby on rails导出excel数据文件

时间:2015-07-27 21:34:48

标签: html ruby-on-rails export-to-excel

我正在尝试设计一个允许访问该网站的任何人下载excel文件的网站。 excel文件只存储我想公开发布的数据。我在轨道上使用ruby,并想知道是否有一种简单的方法来存储我的Excel电子表格(可能在资源文件夹中?)并在我的网页上创建一个链接,点击后下载电子表格。 谢谢!

2 个答案:

答案 0 :(得分:1)

您可以使用CSV导出(与Excel一起使用),因为Ruby在软件中具有良好实现的CSV功能。

class UsersController < ApplicationController
  def index
    @users = User.all

    respond_to do |format|
      format.html
      format.csv { send_data @users.to_csv, filename: "users-#{Date.today}.csv" }
    end
  end
end

此外,您必须在config / application.rb中使用require

require 'csv' 
require 'rails/all' # Or something resembling to this.

在您的模型中,将其添加到其中:

class User < ActiveRecord::Base
  def self.to_csv
    attributes = %w{id email name}

    CSV.generate(headers: true) do |csv|
      csv << attributes

      all.each do |user|
        csv << attributes.map{ |attr| user.send(attr) }
      end
    end
  end

  def name
    "#{first_name} #{last_name}"
  end
end

来源:GoRails (Video)RailsCasts

答案 1 :(得分:0)

我通过查看相关帖子弄明白了: How to give the xls file link in Ruby on Rails? 并查看了hernanvicente的答案