如果您有同一个报告 (.rpt) 的两个版本,并且您想确定确切的差异是什么,那么最好的方法是什么?我见过一些商业工具可以做到这一点,但我对花钱购买相对简单的东西不太感兴趣。我可以连接到 Crystal API 并简单地列出每个字段或其他内容的所有属性吗?请有人告诉我某个地方有一个开源项目可以做到这一点......@:-)

@Kogus,将输出作为文本进行比较不会隐藏任何格式差异吗?

@ladoucep,我似乎无法导出报告 没有 数据。

有帮助吗?

解决方案

我可以挂接到水晶API中,并简单地列出每个字段的所有属性吗?请有人告诉我,有一个开源项目可以做到这一点...@:-)

事实上,有这样一个API。我编写了一个 VB6 应用程序来完成您的要求以及更多操作。我想我什至将它迁移到了 VB.Net。由于它是我自己用的,所以我没有花太多时间去“打磨”它。一直想发,但是一直没时间

我过去使用的另一种方法是创建一个 Access 应用程序来帮助管理大型报告开发项目。它的众多功能之一包括能够提取报表使用的表以及其命令和 SQL 表达式使用的 SQL 语句。其目的是让人们对哪些报告使用哪些表有一个全局的了解。我可能还把它放在某个地方......

** 编辑 1 **

BusinessObjects Enterprise XI (R?) 有一个名为“元管理器”的功能。它将定期检查存储库的内容并将结果保存到数据库中。它使用报告应用程序服务 (RAS) 生成元数据。当然,这是一个额外的 5 位数许可证。

** 编辑2 **

考虑使用 PowerShell 来完成这项工作: 聚苯乙烯晶体.

其他提示

一种有用的技术是将报告的两个版本输出为纯文本,然后比较这些输出。

您可以使用水晶报表组件编写一些内容来描述报表的每个属性,就像您所描述的那样。然后你就可以输出 文本和差异 那些. 。我不知道有任何开源工具可以为您做到这一点,但编写它并不会很难。

@帖子中的问题:比较输出只会显示格式更改,如果 相对的 立场发生了变化。例如,如果我有这个:

前:名字、姓氏、地址

后:姓、名、地址

那么这就会显示出差异。

但是,如果我只是将地址列增加了几个像素,或者将其从纯文本更改为粗体,那么你是对的,那不会显示出来。

我过去使用过的一项非常有效的技术是根据相同的数据打印两个版本的报告。然后,我从每个版本中取出第一页,将一个放在另一个之上(重要的是不要混淆它们)并将它们举到窗户上。通常很容易看出任何差异,并且可以使用合适的书写工具(例如铅笔)手动注释这些差异。对报告中的每一页重复此操作。

诚然,对于大型报告来说,这可能非常耗时且容易出错,但只要耐心和细心,就可以克服这些限制。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top