【问题标题】:Ruby on Rails: What Reporting and/or Charting Tools Are Available? [closed]Ruby on Rails:有哪些报告和/或图表工具可用? [关闭]
【发布时间】:2026-01-24 18:20:03
【问题描述】:

我刚开始使用 Ruby/Rails,我想知道 Rails 开发人员使用什么来在 Rails 网站上提供报告和/或图表。在 ASP.NET 中,我使用来自 DevExpress 的工具,但我对 Rails 生态系统了解得不够多,无法知道可用的工具。任何见解将不胜感激。

【问题讨论】:

    标签: ruby-on-rails ruby reporting charts


    【解决方案1】:

    好吧,我想说大多数人编写自己的代码来根据他们的数据运行报告,因为这主要是针对他们的。然而,有许多图表可以很容易地插入到 rails 应用程序中。

    还有一本名为 Practical Reporting with Ruby and Rails 的出版书籍可能值得一看。

    祝你好运。

    编辑:

    如果你想对数据进行分页,那么 will_paginate 是 Rails 开发人员使用的标准 gem/插件,它非常好用且易于使用。对于导出为其他格式,有几个选项。对于 PDF,有 Prawn、PDF::Writer 或 HTMLDOC,Prince 非常出色但不是免费的,但我认为有人将其移植到开源库(如果我没记错的话),并且有几个库可以轻松帮助您也可以导出为 CSV 文件。

    【讨论】:

    • 嗯,报告的想法本质上是它为您提供了一种轻松实现 分页 数据的方法,并且它允许导出为 PDF 或其他文件格式。仅仅生成数据和打印网页就可以了,但对我的客户来说通常还不够。 +1 虽然 - 不错的答案。
    • Practical Reporting with RoR 在发表此评论时已有近 10 年的历史......它几乎肯定会在许多方面过时
    • 这并不奇怪,因为我大约在 8 年前回答了这个问题。
    【解决方案2】:

    我之前用过 Open Flash Chart 2,它非常好用。 您只需创建一个键/值对数组并在其上调用“.to_json”。

    【讨论】:

    • +1 - 感谢您的推荐!
    【解决方案3】:

    我发现Gruff Graphs 非常易于使用,并且生成了漂亮的图表。还有 Sparklines 用于微小的图形。如果事实证明您需要非常特定类型的生成图像,您可以查看RMagick

    【讨论】:

    • +1 - 谢谢,莎拉。我会检查一下。
    • 根据我的经验,它是一个强大的工具,但设置依赖项(即 ImageMagick)是一场噩梦,至少在 OSX 上是这样。我仍然无法运行完整的 gem 更新,因为在尝试更新 RM 时会爆炸(可能只是因为我的左手类型的设置 tho ;))
    【解决方案4】:

    ruby gnuplot 不完全是一个图表工具.. 但我曾经制作过一些非常复杂的图表.. 如果您需要制作一些快速原型或希望制作不适合的图表,您可能会喜欢它终端用户。

    【讨论】:

      【解决方案5】:

      这不是特定于 Rails 的,但 Google Visualization API 非常酷。

      Emprise 也有一些非常漂亮的图表。

      【讨论】:

        【解决方案6】:

        对于报告,您有

        • Ruport
        • 水晶报告
        • Microsoft SQL Server 报告 服务
        • 贾斯珀报告

        对于简单的预烘焙报告,Ruport 应该没问题。但是,如果您需要处理大量报表和大型数据集,请继续选择以下三个中的一个。

        注意: SQL Server Reporting Services 只能与 SQL Server 一起使用。其他的则与 DB 无关。

        【讨论】:

        • 答案底部关于 SQL Server Reporting Services 的注释不正确。我目前有一个在 Postgres 上运行的 Rails 应用程序,向 SSRS 提供数据。这必须通过 ODBC 完成,但直接支持 Oracle。
        【解决方案7】:

        Ext Javascript 库刚刚发布了(从 v3.0 开始)一组新的工具来生成 Adob​​e Flash 图表和图形,只需使用 Javascript 编程!它都是客户端的,因此您可以将它与任何后端网络服务器(Rails、PHP、ASP.NET 等)一起使用

        在此处查看示例:

        ExtJS Flash Charting Examples

        它功能强大,看起来很棒。好消息是,由于它是 Javascript,您可以创建表单字段,一旦填写,使用用户刚刚键入的新数据使用来自服务器的 JSON/XML 数据重新生成图形!挺好看的。

        【讨论】:

          【解决方案8】:

          大家好,我一直在开发一种报告工具,一种 ruby​​ gem。如果您有一些功能,请查看并建议我。我已经在我的 2 个项目中使用它。 http://ashrafuzzaman.github.io/query_report/

          【讨论】: