世界上最伟大的投资就是投资自己的教育
如何在 Rails 应用中导出电子表格
Mikasa·Ackerman发布于2941 次阅读
如何在rails
应用中导出电子表格
在 Gemfile
中添加
gem 'spreadsheet'
bundle install
假设我们要导出 项目数据:
controller
中添加导出:
def exprot
projects = Project.limit(10)
send_data(Project.exprot_projects(projects), :type => "text/excel;charset=utf-8; header=present", :filename => "项目统计表.xls")
end
model
中添加想要导出的数据格式
def self.exprot_pojects(projects)
xls_report = StringIO.new
Spreadsheet.client_encoding = "UTF-8"
book = Spreadsheet::Workbook.new
style0 = Spreadsheet::Format.new :weight => :bold, :size => 16, :align => :center
style = Spreadsheet::Format.new :weight => :bold, :size => 10
sheet1 = book.create_worksheet :name => "项目统计表.xls"
# 设置单元格高度
sheet1.row(0).height = 18
sheet1.row(0).default_format = style
# 设置单元格宽度
sheet1.column(1).width = 15
sheet1.column(2).width = 15
sheet1.row(0).concat ["项目名称","项目编号"]
projects.each_with_index do |project, index|
sheet1.row(index+1).concat [project.name, project.number]
end
book.write xls_report
xls_report.string
end
这样在 controller 中调用此方法,或者传入想要导出的集合就可以导出了
本站文章均为原创内容,如需转载请注明出处,谢谢。
0 条回复
暂无回复~~
© 汕尾市求知科技有限公司 | Rails365 Gitlab | 知乎 | b 站 | csdn
粤公网安备 44152102000088号 | 粤ICP备19038915号
Top