代码之家  ›  专栏  ›  技术社区  ›  RMorrisey

使用CanGrow=True时,CrystalReports excel字段被切断

  •  1
  • RMorrisey  · 技术社区  · 15 年前

    我正在VS2005的CrystalReports中制作excel报表。我在Details部分中有一个字段,它最多可以包含255个字符的文本,我希望excel中的行的高度可以展开,以便在生成报告时最初可以看到整个文本。

    我在字段的属性中设置CanGrow=True,字段看起来确实在增长;字段只有一行(Height=159),但许多行显示多行包装的文本。有些行断断续续地将最后一行文本的下半部分切掉;用户必须稍微展开行才能看到它。似乎没有特定的字段长度会导致这种情况—在一种情况下,它的输出总共有四行,而在另一种情况下,它只有三行。

    有人能告诉我这是什么原因吗?或者我该如何解决这个问题?

    提前感谢你们的帮助。

    [编辑:我不再从事此项目,因此我从未发现此设置的结果。很可能它没有被修复,因为它不是一个关键问题。]

    2 回复  |  直到 15 年前
        1
  •  0
  •   Dusty    15 年前

    我在过去提出的解决这个问题的一个办法是编写两份独立的报告。一个用于显示并导出到pdfor rtf,另一个用于导出到Excel的报表。

    我知道这通常不是一个好方法,因为导出中的数据有可能与显示报告不同,但是如果小心的话,效果会很好。

    我遇到这样一种情况:客户需要在报表上以特定格式打印数据,但是有很多数据可以实际地放在一个页面上。我们制定了一个解决方案,我运行一个适合大多数数据的报表“显示版本”,但该客户端所需的其余数据只添加到报表的“Excel版本”中。

    为此,我只需像平常一样将“display report”加载到报表查看器中,但当您要导出报表时,我将使用与“display report”相同的参数加载“excel report”,并调用代码将数据导出到excel。

    由于两个报表都使用相同的数据源,因此如果您进行了更改,则会出现问题,您必须记住要验证每个报表上的数据库才能看到新的数据库更改,但此方法允许您包含更多数据,并且格式与报表的显示版本不同。

    希望这有帮助。

        2
  •  0
  •   Scott Willeke    15 年前

    虽然不是Crystal的解决方案(我不知道有没有),但作为GrapeCity Data Dynamics报告团队的一员,十年来我们一直在处理类似的问题,将自由格式的报告转换为excel电子表格。在我们的datadynamics报表产品中,我们提出了一种全新的方法来解决将报表导出到excel的问题。

    我们允许您为报表输出创建模板。该模板是一个基本的excel文件,其中包含用于报表中各种文本框(或其他控件)和区域(表、列表等)的占位符。您可以在excel中打开此模板并修改单元格和行的属性。在您描述的场景中,可以从Data Dynamics报告导出“模板”,然后修改模板中包含文本框占位符的行的autosize属性。

    这很难解释,因此在我们网站的以下位置有一个约2分钟的屏幕播放,显示了此功能: http://www.datadynamics.com/Products/DDRPT/ScreencastViewer.aspx?ID=XLS01

    有关产品的更多信息和免费试用下载,请访问: http://www.datadynamics.com/DataDynamicsReports

    Scott Willeke
    GrapeCity - Data Dynamics