C# 如何使报表查看器控件以xls格式而不是xlsx格式导出?

C# 如何使报表查看器控件以xls格式而不是xlsx格式导出?,c#,winforms,reportviewer,C#,Winforms,Reportviewer,我们的应用程序需要能够从报表查看器控件生成.xls格式。但是,当我尝试导出到Excel时,它只提供两个选项(.xlsx和其他文件) 为了生成为.xls,我们需要使用“其他文件”选项并将其设置为.xls,但这将导致文件格式和扩展名不匹配,并且用户在尝试打开该文件时将始终获得。我怀疑它只是将文件重命名为.xls,但其格式仍然是.xlsx 是否可以将报表查看器控件的Excel类型文件的默认导出格式设置为.xls 图1:ReportViewer显示了要在中导出的3种文件类型 图2:选择文件时,报表查

我们的应用程序需要能够从报表查看器控件生成.xls格式。但是,当我尝试导出到Excel时,它只提供两个选项(.xlsx和其他文件)

为了生成为.xls,我们需要使用“其他文件”选项并将其设置为.xls,但这将导致文件格式和扩展名不匹配,并且用户在尝试打开该文件时将始终获得。我怀疑它只是将文件重命名为.xls,但其格式仍然是.xlsx

是否可以将报表查看器控件的Excel类型文件的默认导出格式设置为
.xls

图1:ReportViewer显示了要在中导出的3种文件类型

图2:选择文件时,报表查看器默认为.xlsx格式。希望改为默认为.xls格式

  • 处理报表导出事件
  • 使用ReportViewer的ExportDialog()方法和
    ListRenderingExtensions()
    方法查看扩展列表 可用
  • 设置
    e.Cancel=true
    以防止此事件再次发生
  • 代码:

        private void reportViewerControl_ReportExport(object sender, ReportExportEventArgs e)
        {
            if(e.Extension.LocalizedName.ToUpper().Equals("EXCEL"))
            {
                reportViewerControl.ExportDialog(reportViewerControl.LocalReport.ListRenderingExtensions()[0]);
                e.Cancel = true;
            }
        }