如何将报告从Microsoft.Reporting.WinForms.ReportViewer v11导出到.xls文件

请告诉我,如何从ReportViewer(v.11)将报告(rdlc)导出到.xls文件?

此版本的查看器可以通过单击导出 – > Excelbutton导出到.xlsx文件。 在这种情况下,SaveFileDialog将被打开,我只能selectxlsx格式。 但我也需要以.xls格式保存报告。

对不起,我的英语 – 我刚开始学习它。

谢谢!

我find答案。 我把它放在这里另一个…

第11版本的ReportViewer可以将报告导出为.xls格式,但是默认情况下这个可能性是隐藏的。

使用ReportViewer.LocalReport.ListRenderingExtensions()实例方法可以看到一系列支持的导出格式。 但是所有元素的属性都是只读的(包括Visible )。

要改变元素的可见性,你应该使用reflection。 例如:

 /// <summary> /// Set visibility of specified by name RenderingExtension to setted value /// For example, name of Excel (.xls) extension is "Excel" /// </summary> /// <param name="reportViewer">Instance of ReportViewer control</param> /// <param name="extensionName">Extension name (for example: "Excel")</param> /// <param name="visible">Visibility</param> private void SetVisibilityOnRenderingExtension(ReportViewer reportViewer, string extensionName, bool visible) { var renderingExtension = reportViewer.LocalReport.ListRenderingExtensions().FirstOrDefault(e => e.Name == extensionName); if (renderingExtension != null) { FieldInfo info = renderingExtension.GetType().GetField("m_isVisible", BindingFlags.NonPublic | BindingFlags.Instance); if (info != null) { info.SetValue(renderingExtension, visible); } } } 

我希望,这有助于人:)