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
Gibt es einen Quellcode um dafür? – GordyII
Sie möchten Beispielcode zum Umbenennen der Registerkarten? –
Quellcode für die Umbenennung wäre gut. Das Erstellen der Tabs scheint einfach genug zu sein. – GordyII