SSRS 2005在报表而不是服务器上设置SimplePageHeaders?

Ada*_*dam 8 export-to-excel reportingservices-2005 reporting-services

我有一个报告没有从SSRS 2005导出到excel友好.我知道我可以使用


<Render>
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering">
        <Configuration>
            <DeviceInfo>
                <SimplePageHeaders>True</SimplePageHeaders>
            </DeviceInfo>
        </Configuration>
    </Extension>
</Render>
Run Code Online (Sandbox Code Playgroud)

在rsreportserver.config中,但我不是唯一一个在这台机器上有报告的人.我还发现你可以通过

&rc:SimplePageHeaders=True
Run Code Online (Sandbox Code Playgroud) 在url中以编程方式导出报告.

我尝试&rc:SimplePageHeaders=True在导航到报表管理器时将其添加到URL的末尾,但是当我从下拉列表中选择excel并单击导出时,仍会导出标题.我甚至尝试过设置rc:Command=Renderrc:Format=EXCEL在网址中没有任何运气.

有没有办法做我想做的事情?

注意:我想在内置报表管理器中呈现报表,并使用build in export to excel下拉列表,而不是在应用程序或网站中.

Chr*_*tta 28

您要执行的操作是提供另一个删除标题的渲染器,并将其包含在导出菜单可用的渲染器列表中,而不是覆盖现有的Excel渲染器.您几乎拥有解决方案 - 而不是修改您想要提供另一个的当前Excel渲染器.这里有几个技巧:

  • 您必须为此渲染器指定一个Name="EXCEL"与我系统上的当前Excel渲染器不同的名称,否则您将只看到一个Excel渲染器
  • 渲染器的显示名称将不是您在上面调用的名称,但只是Excel因为渲染器提供的显示名称,因此您将看到两个名为Excel的选项,您将不知道哪个是没有的页眉.
  • 因此,您必须覆盖名称
  • 覆盖名称时,必须指定要覆盖的语言.您设置的语言值必须对报表服务器计算机有效.例如,如果报表服务器在法语操作系统上运行,则应指定"fr-FR"为属性值.我正在使用,"en-AU"因为我是澳大利亚人,"en-US"如果你在美国,你会使用.

因此,<Render> rsreportserver.config部分的当前EXCEL渲染器(不要替换现有渲染器)下,您将插入如下内容:

<Extension Name="EXCEL (No Header)" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering">
    <OverrideNames>
        <Name Language="en-AU">Excel (No Header)</Name>
    </OverrideNames>
    <Configuration> 
        <DeviceInfo>
            <SimplePageHeaders>True</SimplePageHeaders> 
        </DeviceInfo> 
    </Configuration> 
</Extension>
Run Code Online (Sandbox Code Playgroud)

这将在Reporting Services导出菜单上为您提供两个Excel选项:ExcelExcel(无标题)

不要忘记将语言属性更改为<OverrideNames>报表服务器上的语言,否则这两个选项将简称为Excel