使用ASP.Net SSRS ReportViewer进行渲染后,在Excel中更改行高

我有一个SSRS报告有一个注释字段,其中有足够的文本跨越每个logging多行。 它在ASP.Net ReportViewer控件中呈现得很好,但是当它被导出时,格式可以不同。 导出到Word看起来太棒了。 但是,导出到Excel和PDF时,每个logging的行高不会超过默认值,因此文本会被截断。 在Excel中,我可以进入并双击单个或多个行高来修复它们,但这是我们不想要的额外步骤。

由于没有“导出”事件来自ReportViewer,我该如何解决这个问题,以便在Excel中正确导出/格式化? 有没有办法做到这一点在ReportViewer内的呈现时间,还是我需要考虑生成Excel文件,然后进入它用事后VBA代码进行更改? 有任何想法吗?

如果用户使用报表pipe理器,则无法确定用户何时点击导出button。 但是,如果您提供自己的Web界面来生成报告,则可以控制该过程。 您可以使用Web服务从SSRS获取报告。 然后,您可以使用像SoftArtisans OfficeWriter这样的服务器端Excel操作工具在代码中打开和后处理电子表格,并将其stream式传输给用户。

免责声明:我为SoftArtisans工作

不幸的是,你可以对内置的reportViewer渲染器进行很less的调整。 你可以通过DeviceInfostring来调整一些渲染器的输出,但是,对于你正在尝试做什么来说什么都没有。 ( 关于DeviceInfo的信息 )

有一些第三方渲染器可以购买,这会给你更多的控制权。 我从来没有遇到过一个自由的。

你可以开始写你自己的渲染器,但我强烈build议你不要这样做,因为这种情况对你来说太过分了(会花费你很长的时间来解决这个问题)。

除此之外,你可以编写一些代码来通过COM打开Excel文件,并修改文件。 您可以在导出完成后正确编码,并精简它。 或者,你也可以像你提到的那样为Excel写一些VBAmacros。