尝试调用LocalReport.Render时出错(“EXCELOPENXML”)

时间:2014-07-31 19:41:56

标签: c#-4.0 ssrs-2008 nuget-package

我已经从VS2010中的nugetpackage manager安装了DocumentFormat.OpenXml(版本2.5.5631.0)。我可以看到DLL的引用。我创建了一个包文件夹。但是当我尝试执行方法时:

public override void Render(LocalReport report)
{
     this.SetUpParameters(report);

     byte[] renderedReport = report.Render("EXCELOPENXML");
     this.target.UpdateRenderedReportContent(renderedReport);
}

我收到此错误:

  

指定的参数超出了有效值的范围。参数名称:格式

当我使用时

report.Render("EXCEL");

我没有收到任何错误。我必须使用EXCELOPENXML生成xlsx excel。

1 个答案:

答案 0 :(得分:3)

您引用了哪个版本的Microsoft.ReportViewer.WinForms?如果它低于11.0,那可能是你的问题。

顺便提一下,Visual Studio(2013)拒绝在“添加引用”对话框中显示版本11.0作为选项。我不明白为什么。我不得不浏览GAC中的程序集:

C:\Windows\assembly\GAC_MSIL\Microsoft.ReportViewer.WinForms\11.0.0.0__89845dcd8080cc91\Microsoft.ReportViewer.WinForms.DLL

执行此操作后,请运行以下方法。您现在应该看到EXCELOPENXML作为选项。

new LocalReport().ListRenderingExtensions();