NOTE / Ruby-On-Rails

Ruby 匯出 Excel檔案

透過下面三個gem所產出的Excel檔案:
rubyzip
axlsx
axlsx_rails
使用Gemfile做安裝

gem 'rubyzip'
gem 'axlsx'
gem 'axlsx_rails'

創建View的下載點

<%= link_to "匯出 Excel", admin_event_path(:format => :xlsx), :class => "btn btn-default" %>

在Controller

respond_to do |format|
  format.html
  format.xlsx
end

這樣寫就可以了Ruby 會知道要返回的是xlsx他會去View找xlsx資訊。
讓我們建立一個xlsx模板,建立index.xlsx.axlsx

wb = xlsx_package.workbook
wb.add_worksheet(name: "Buttons") do |sheet|
  sheet.add_row ["ID", "姓名", "電話", "Email", "建立時間"]
  @registrations.each do |r|
  sheet.add_row [r.id, r.name, r.phone , r.email, r.created_at]
  end
end

點選下載即可完成

REFERENCE / 3

Loading