ReportViewer.ServerReport.Render(“Excel”)忽略报表中的条件格式?

我有报告,我想只使用一个链接来呈现优秀。 为了做到这一点,我有一个页面(实际上是Web应用程序),它使用ReportViewer来select参数,然后截取渲染阶段。 然后我使用byte[] result = ReportViewer.ServerReport.Render("Excel");执行渲染,作为一个excel渲染器byte[] result = ReportViewer.ServerReport.Render("Excel"); 并发送给用户。

我得到它的工作,但有一个怪癖:Excel文件生成的头还在原地。 报告将这些定义为在渲染为excel时不会渲染,因为选项卡名称已经包含名称,并且会干扰一次点击旋转。

我已经浏览了reportviewer表单的界面,但我看不到能够find任何会触发条件格式的东西。 谁能帮我这个?

如果要导出为.xlsx格式,请确保条件格式中的expression式指向“EXCELOPENXML”而不是“EXCEL”。 或者您可能需要将此值传递给Render函数。 或两者。 如果您要导出到2007年之前的Excel版本,则不适用。

这两种格式types在编码方式上有所不同。 我的理解是,呈现为“EXCEL”types的SSRS报告以二进制编码,而“EXCELOPENXML”types自然以XML编码。

这是纯粹的推测,但可见性expression式可能期望基于您正在使用的Excel版本的特定types的编码。 因此,即使可能呈现给应用程序,也只有一个人会按照您的预期评估expression式。