首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将报表从.xls v11导出到Microsoft.Reporting.WinForms.ReportViewer文件

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

Stack Overflow用户
提问于 2015-10-09 10:46:47
回答 1查看 1.6K关注 0票数 3

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

此版本的查看器可以通过单击按钮导出到.xlsx文件。在这种情况下,SaveFileDialog将是开放的,我只能选择xlsx格式。但是我也需要用.xls格式保存报告。

对不起我的英语-我才刚开始学英语。

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-09 15:18:31

我找到答案了。我把它放在这里是为了另一个..。

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

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

若要更改电子的可见性,应使用反射。例如:

代码语言:javascript
复制
/// <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);
        }
    }
}

我希望,这对某人有帮助:)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33036276

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档