【问题标题】:export to excel,pdf and doc using Ruby on Rails使用 Ruby on Rails 导出到 excel、pdf 和 doc
【发布时间】:2010-03-29 11:19:46
【问题描述】:

您能帮我通过 Rails 应用程序将文件导出为 excel、pdf 和 .doc 格式吗?

【问题讨论】:

  • 该死,您需要 Reporting Services,它可以做到这一切......除非您能找到与 RoR 一起使用的报告解决方案。

标签: ruby-on-rails


【解决方案1】:

对于 Excel

  1. 我使用 FasterCSV 和 this post 生成了 csv 文件,可以很好地在 excel 中打开。
  2. 您还可以创建 HTML 表格并使用 iqy 文件加载 excel。为此,您可以创建一些新别名,然后处理新的 .iqy 和 .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 表。另请参阅this KB article 了解更多 iqy 信息。

对于 PDF

  1. See this other SO questionsuggested plug-in看起来不错,但我没用过。
  2. 我玩过prawn,但从未实际用于生产。感觉不错,就是没用过。

用于文档

我建议您只使用简单的文本或 RTF。我不知道有什么插件可以解决这个问题,但可能有一些东西。

另一种方法

我在纯 Java 项目中使用 JasperReports 取得了巨大成功。可以使用 JasperServer 产品、JRuby、您自己的应用程序包装器或 ruby​​-java 桥来使用 Jasper 生成输出。见this post。一旦你参与了 Java,你也会得到美妙的JExcelApi

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多