在 rdlc 中导出到 excel 时单元格合并

cells merge when exporting to excel in rdlc

我的应用程序中有一个 rdlc 报告。该报告在网页上看起来不错,但当我选择导出到 Excel 选项时,我将一些列合并到多个单元格中。我不想合并列。我该如何防止这种情况。我已经看到这个 post,但是 this post 中提供的 link 不起作用。

我们将不胜感激任何对此问题的帮助。

正如您分享的 post 所建议的,这通常归结为 cells/textboxes 在您的报告设计中没有对齐。

SSRS 将尝试复制您在报告预览(或您的情况下的网页)中看到的布局。为此,它将添加额外的列以提供正确的间距,然后合并跨越这些边界的单元格。

确保所有文本框对齐且没有水平间隙等。例如,如果您的报告包含 table/matrix 和带标题的文本框。确保标题文本框的开始和结束与 table/matrix.

中的单元格完全一致

请注意,如果单元格跨越列的边界,它们仍将被合并(例如,本例中的标题可能会根据其宽度跨多个列合并)。

坚持我们的标题场景,如果你需要在任何情况下阻止它合并,那么你可以试试这个(未经测试)。

创建两个文本框,一个宽度足以容纳标题,另一个宽度与最终 excel 输出中应位于同一列的其他数据的宽度相同。例如,如果您有一个包含 6 列的 table,第一个文本框的大小将与这 6 列相同,但较小的版本将仅与第一个 table 列对齐。

将这两个文本框的位置设置为相同的位置(以便它们重叠)。

然后在 hidden 属性 中设置一个在 Globals!RenderFormat = "EXCELOPENXML" 时隐藏,另一个在这个表达式不成立时隐藏。这样,短文本框只会在导出到 excel 时呈现,而登录文本框只会呈现到屏幕。

根据版本 SSRS 等,您必须决定要检查的渲染格式。

有关 RenderFormat 的文档,请参阅此处

https://docs.microsoft.com/en-us/sql/reporting-services/report-design/built-in-collections-built-in-globals-and-users-references-report-builder?view=sql-server-ver15