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
點選下載即可完成