使用 ReportViewer 库无法在 PDF 中呈现柱形图?

Posted

技术标签:

【中文标题】使用 ReportViewer 库无法在 PDF 中呈现柱形图?【英文标题】:Column Chart not Rendering in PDF using ReportViewer Library? 【发布时间】:2017-05-12 21:19:25 【问题描述】:

使用的框架:.Net Framework 4.5.2 使用的库:Microsoft.ReportViewer.WinForms.dll(Version = 10.0.0.0)

我的应用程序正在从数据库中获取数据并将其绑定到 ReportDataSourceCollection。 之后从 Render() 返回 byte[]。 最后用 fileStream 写入 byte[]。

下面的函数被调用 public byte[] Render(string format, string deviceInfo, out string mimeType, out string encoding, out string fileNameExtension, out string[] streams, out Warning[] warnings);

预期结果:PDF 报告包含 1 个柱形图和表格。 实际结果:柱形图显示为空,上面有一些错误,如附图所示。 & 表正在填充数据。

柱形图:

Y 轴:int 值,如 1375724,67802 等。 X 轴:字符串值,如 939 - 1571,1572 - 2204 等。

调查:

经过我的观察,我发现 Y 轴中的值在不渲染图表时会产生问题。因为通过更改用于 Y 轴图表的值正在渲染。

产生问题的值是 3183938 和 2729807。

您能告诉我为什么在呈现为 PDF 报告时会创建上述数字吗?这种情况的任何解决方法?

【问题讨论】:

【参考方案1】:

在 RDLC 图表中,Y 轴之前有以下 Axis 选项: 最低 - 自动 最大值 - 自动 间隔 - 自动 IntervalType - 数字

产生问题的值是 3183938 和 2729807。

我将上面的 IntervalType 属性从 'Number' 更改为 'Auto' 并且现在呈现图表。

【讨论】:

以上是关于使用 ReportViewer 库无法在 PDF 中呈现柱形图?的主要内容,如果未能解决你的问题,请参考以下文章

c#的reportViewer控件

无法加载文件或程序集“Microsoft.ReportViewer.WebForms”

从报表查看器导出时更改 PDF 上的报表名称

ReportViewer遇到的坑

发生错误:“生成报告时无法加载文件或程序集 'Microsoft.Reportviewer.Winforms Version=10.0.0.0”

报表reportviewer控件使用时,单行文本过长的解决办法