2009-05-05 2 views

Antwort

2

Um dieses Problem aus dem Web-Front-End zu umgehen (was mich mit dem ReportViewer Web-Steuerelement verrückt machte), erkannte ich, dass SSRS die Daten als Byte-Array zurückgibt, die Sie dann verarbeiten können. So erfassen den Strom in .NET können Sie eine Methode schreiben, die etwas tut, wie:

private byte[] ExportStream(string streamType, out string mimeType, out string extension) 
{ 
    Microsoft.Reporting.WebForms.Warning[] warnings; 
    string[] streamids; 
    string encoding; 
    string deviceInfo = "<DeviceInfo><SimplePageHeaders>True</SimplePageHeaders></DeviceInfo>" 

    byte[] bytes = ReportViewerClientReport.ServerReport.Render(streamType, 
          deviceInfo, out mimeType, out encoding, out extension, out streamids, out warnings); 

    return bytes; 
} 

Dann nachbearbeiten die Ausgabe von dieser Methode mit so etwas wie die fantastische NPOI Bibliothek von http://npoi.codeplex.com/ entweder als Bytes oder erstellen eine Art von Speicherstream, dann können Sie machen, was Sie wollen.

Auch-Notiz, dass SSRS (SQL Server Reporting Services) R2 diese Funktion haben, aber es kommt in etwa Mai 2010 http://www.bidn.com/blogs/bretupdegraff/bidn-blog/234/new-features-of-ssrs-2008-r2-part-1-naming-excel-sheets-when-exporting-reports

1

Wenn Sie beim Exportieren einen Bericht in Registerkarten aufteilen möchten, verwenden Sie mehrere Tabellen mit Seitenumbrüchen.

Sie können Registerkarten nicht von SSRS umbenennen. Wenn Sie die Registerkarten umbenennen möchten, müssen Sie benutzerdefinierten Code schreiben.

+0

Gibt es einen Quellcode um dafür? – GordyII

+0

Sie möchten Beispielcode zum Umbenennen der Registerkarten? –

+0

Quellcode für die Umbenennung wäre gut. Das Erstellen der Tabs scheint einfach genug zu sein. – GordyII

Verwandte Themen