我需要在ASP.NET中编写动态报表生成器,我应该从哪里开始?

Fra*_*cia 8 javascript sql sql-server asp.net report

我的任务是创建一个动态报表生成器来扩展我们当前的产品,这应该允许我们的用户相对容易地配置一个有用的报告,从他们输入系统的内容中绘制数据.目前我们手动定制这些报告,此过程涉及开发人员(我)采用报告的要求(字段,总计,百分比等)并将结果发布为相对交互的页面,以便能够"向下钻取" '以获取记录行中的更多信息等.

报告并不是非常复杂,但它们足够参与,以编程方式生成这些报告似乎不可能.我觉得创建一个界面,允许用户自定义报告的外观不应该太困难,尽管它本身就是参与其中.我不知所措的是如何创建一个界面,允许完全没有"编程"读写能力的用户轻松生成可以提取所需信息的SQL查询.

事实上,他们需要能够创建这些查询并访问其输入数据的大小,而不必知道他们真正在做什么.我觉得要按照要求工作,报告的生成必须与魔法尽可能无法区分.用户应该能够从可能的数据集中拖放他/她所需的内容并神奇地生成报告.

我当然要接受挑战,但我真的不知道从哪里开始.一旦我开始移动齿轮,解决个别问题将是"容易的"(实际上更像是过程的一部分),但是起步一直是挑战和令人沮丧的.如果有人可以为我提供搜索方向,我不会害怕投入时间.感谢您的时间,我期待着一些积极的建议.

Ear*_*rlz 5

我以前被分配过这样的任务。我的建议:不要。除非所需的报告非常基础并且您的用户不关心报告的外观,否则实施将花费大量时间。你表示你的单人团队,只是不要。聘请初级开发人员或实习生或其他人来处理这部分工作对您来说(即使从长远来看)会更便宜。

现在,有几个不同的报表设计器。我还没有看到任何可以在网页上完全运行的东西,而且从非程序员的角度来看,所有这些都非常糟糕。

现在,有办法解决这个问题。大多数想要这些类型的报告的人都知道如何使用 Microsoft Access。您可以利用他们的知识,让他们创建自己的报告。这不是微不足道的,因为您不希望它们只是连接到您的数据库。所以,这是我的建议:

  1. 生成与 Access 兼容的可下载数据库
  2. 确保下载的数据库“易于”使用。这意味着复制数据和非规范化很多东西
  3. 确保您没有在可下载的数据库中留下任何敏感信息(密码、他们不应该看到的内部内容等)
  4. 最后,确保他们可以以安全的方式下载它并且它是高性能的。您可能需要告诉您的用户可下载的数据库每周或每月只“同步”一次,因为实时同步它的成本相对较高

  • MS Access 带来了它自己的问题。通常,这些用户然后开始从数据库构建他们自己的应用程序,突然之间您拥有一个未记录的 MS Access 系统,该系统严重依赖于您必须支持或重新集成到主应用程序中。 (4认同)