当用户使用Ransack执行搜索时,我正在使用AXLSX从网站上显示的表格生成xlsx文件。我的问题是,结果在网站上是分页的,但是我希望电子表格显示完整的结果集,而不是像目前的情况那样显示15条记录。
控制器
def index
@search = Campaign.search(params[:q])
@campaigns = @search.result.page(params[:page]||1)
respond_to do |format|
format.html
format.xlsx{ render xlsx: 'Campaigns' }
end
end链接
= link_to '<i class="glyphicon glyphicon-cloud-download"></i>'.html_safe, admin_campaigns_path(format: :xlsx), title: "Download Campaign XLS", rel: 'tooltip'Campaigns.xlsx.axlsx
require 'axlsx'
xlsx_package = Axlsx::Package.new
wb = xlsx_package.workbook
wb.add_worksheet(name: "Campaigns") do |sheet|
style1 = sheet.styles.add_style(:bg_color => "EF0920", :fg_color => "FFFFFF", :b => "true")
sheet.add_row ["Header", "Header", "Header", "Header","Header","Header","Header","Header","Header","Header","Header","Header"], :style => style1
@campaigns.each do |campaign|
sheet.add_row [campaign.data,campaign.data,campaign.data,campaign.data,campaign.data,ccampaign.data,campaign.data,campaign.data,campaign.data,campaign.data,campaign.data]
end
end我在考虑要么将对活动的调用改为其他内容,要么删除分页,但不确定如何做到这一点。
发布于 2016-08-31 19:48:29
弄清楚了:
def index
@search = Campaign.search(params[:q])
@campaigns = @search.result
respond_to do |format|
format.html{@campaigns = @search.result.page(params[:page]||1)}
format.xlsx{ render xlsx: 'Campaigns' }
end
endhttps://stackoverflow.com/questions/39247051
复制相似问题