如何将报告从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); } } }
我希望,这有助于人:)