你能帮助我通过rails应用程序将文件导出为excel,pdf和.doc格式吗?
答案 0 :(得分:8)
适用于Excel
在config / initializers / mime_types.rb
中Mime::Type.register_alias "text/html", :excel
Mime::Type.register "text/x-ms-iqy", :iqy
然后在你的控制器中处理.iqy和.excel格式
respond_to do |format|
format.html
format.excel
format.iqy {
text = "WEB\n1\n%s" % URL_FOR_DATA_VIA_GET, :format => :excel)
render :text => text
}
end
您的excel格式模板应该只是一个包含数据的HTML表格。 iqy格式只需渲染文本,现在需要动作模板。您可能需要一个没有所有导航等的application.excel.erb文件,因此您可以获得一个干净的html表。有关更多iqy信息,请参阅this KB article。
对于PDF
For Doc
我建议你坚持使用简单的文字或RTF。我不知道有任何插件,但可能有一些东西。
另一种方法
我在纯Java项目上使用了JasperReports并取得了巨大的成功。可以使用JasperServer产品,JRuby,您自己的应用程序包装器或ruby-java桥来使用Jasper生成输出。见this post。一旦你加入Java,你也会得到精彩的JExcelApi。