8

Mam jeden raport, który nie eksportuje do Excela przyjazny z SSRS 2005. Wiem, że mogę używaćSSRS 2005 Ustawia SimplePageHeaders na raporcie zamiast na serwerze?


<Render> 
    <Extension Name="EXCEL" Type="Microsoft.ReportingServices.Rendering.ExcelRenderer.ExcelRenderer,Microsoft.ReportingServices.ExcelRendering"> 
     <Configuration> 
      <DeviceInfo> 
       <SimplePageHeaders>True</SimplePageHeaders> 
      </DeviceInfo> 
     </Configuration> 
    </Extension> 
</Render> 

w RSReportServer.config, ale nie jestem jedyną osobą, z raportów na temat tej maszyny. Odkryłem także, że w adresie URL można podać

&rc:SimplePageHeaders=True
, aby programowo wyeksportować raport.

Próbowałem dodać &rc:SimplePageHeaders=True do końca adresu URL podczas nawigowania do menedżera raportów, ale gdy wybieram program Excel z menu rozwijanego i kliknę przycisk Eksportuj, nagłówki są nadal eksportowane. Próbowałem nawet ustawić rc:Command=Render i rc:Format=EXCEL w url też bez szczęścia.

Czy istnieje sposób, aby zrobić to, co próbuję zrobić?

uwaga: Chcę renderować raport na wbudowanym menedżerze raportów i używać wbudowanego eksportu do rozwijania listy rozwijanej, a nie aplikacji lub strony internetowej.

Odpowiedz

25

Zamiast przesłonić istniejący renderer programu Excel, należy podać inny mechanizm renderujący, który usuwa nagłówki i umieszcza je na liście rendererów dostępnych w menu eksportu. Prawie masz rozwiązanie - zamiast modyfikować bieżący program renderujący Excel, który chcesz dostarczyć inny. Istnieje kilka sztuczek tutaj:

  • Musisz dać tej renderujący nazwa, która różni się od obecnego renderujący Excel, który ma Name="EXCEL" na moim systemie, w przeciwnym razie widać tylko jeden renderujący EXCEL
  • wyświetlana nazwa renderera nie będzie taką nazwą, jak to nazwałeś, ale będzie po prostu Excel, ponieważ jest to nazwa wyświetlana przez renderer, więc zobaczysz dwie opcje o nazwie Excel i nie będziesz wiedział, który jest bez nagłówków stron .
  • W związku z tym należy zastąpić nazwę
  • Po nadpisaniu nazwy należy podać język, dla którego ją zastępujesz. Ustawiona wartość języka musi być poprawna dla komputera serwera raportów. Na przykład, jeśli serwer raportów działa w francuskim systemie operacyjnym, jako wartość atrybutu należy podać wartość "fr-FR". Używam "en-AU", ponieważ jestem Australijczykiem, używałbyś "en-US", jeśli jesteś w USA.

Zatem pod obecny EXCEL renderujący (nie zastąpić istniejący jeden) w <Render> odcinek RSReportServer.config, należy wstawić coś takiego:

<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> 

To daje dwa Opcje programu Excel na Reporting Services menu eksportu: Excel i Excel (bez nagłówka)

nie zapomnij, aby zmienić język atrybut <OverrideNames> dla języka na serwerze raportów lub obie opcje będą po prostu nazywane Excel

+0

+1 za niesamowite wyjaśnienie. Chciałbym mieć więcej niż 1. – Adam

+0

Działa to doskonale w celu wyeliminowania sekcji nagłówka, ale eliminuje również mój nagłówek tablix i zamraża pierwszy wiersz zamiast używać nagłówka tablix. Jak temu zapobiec? – TheSoftwareJedi

Powiązane problemy