wake-up-neo.com

So erhalten Sie benannte Excel-Tabellen beim Exportieren von SSRS

Wenn ein einzelner Seitenbericht nach Excel exportiert wird, wird das Blatt in Excel nach dem Berichtsnamen benannt. Wenn ein Bericht mehrere Seiten hat, werden die Blätter als Blatt1, Blatt2, .....__ bezeichnet Blattnamen in SSRS 2005 angeben?

lösung: Dies wurde nach einiger Google-Suche gefunden: Ändern der Blattnamen in SQL Server RS ​​Excel: QnD XSLT

Werde ein Update ausprobieren und posten, wenn es funktioniert.

33
rao

Necromancing, nur für den Fall, dass alle Links dunkel werden:

  1. Fügen Sie Ihrem Bericht eine Gruppe hinzu
    Beachten Sie auch, dass Sie die Sortierreihenfolge des Gruppenausdrucks hier festlegen, damit die Registerkarten alphabetisch sortiert werden (oder wie Sie es wünschen).

     1. Add a group to your report

    • 'Zeilengruppe' bedeutet 'Zielgruppe'
    • Gruppeneigenschaften bedeutet Gruppeneigenschaften
  2. Legen Sie den Seitenumbruch in den Gruppeneigenschaften fest  2. Set the page break in the group properties

    • "Seitenumbruche" bedeutet "Seitenumbruch"
    • "Zwischen den einzelnen Instanzen einer Gruppe" bedeutet "Zwischen den einzelnen Instanzen einer Gruppe"
  3. Jetzt müssen Sie die PageName der Tablix Member (Gruppe) und NICHT der PageName der Tablix selbsts einstellen. 
    Wenn Sie das richtige Objekt gefunden haben, wird im Titelfeld des Eigenschaftenrasters "Tablix Member" (Tablix-Element) angezeigt. Wenn es sich um ein falsches Objekt handelt, wird only "table/tablix" (ohne member) im Titelfeld des Eigenschaftsbereichs angezeigt.

  4. Hinweis: Wenn Sie das Tablix-Element anstelle des Tablix-Members erhalten, wird in jedem Tab derselbe Tabulatortext eingefügt, gefolgt von einem (tabNum)! In diesem Fall wissen Sie jetzt, was das Problem ist.  Tablix Member

 MultiTabExcelFile

22
Stefan Steiger

Um in andere Arbeitsblätter zu exportieren und benutzerdefinierte Namen zu verwenden, kann dies ab SQL Server 2008 R2 mithilfe einer Kombination aus Gruppierung, Seitenumbrüchen und der Eigenschaft PageName der Gruppe erfolgen.

Wenn Sie nur einen einzelnen Namen angeben möchten, versuchen Sie es mit der Eigenschaft InitialPageName des Berichts.

Eine ausführlichere Erklärung finden Sie hier: http://blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-Excel-export/

15
5
Stas Slabko

Um beim Exportieren nach Excel Registernamen hinzuzufügen, habe ich die folgende Methode verwendet:

  • Wählen Sie im Berichtsentwurfsfenster das Tablix-Objekt aus. 
  • Öffnet das Eigenschaftenfenster des Tablix-Objekts. 
  • Fügen Sie der PageName-Eigenschaft den erforderlichen Tabulatornamen hinzu. 
  • Führen Sie den Bericht aus 
  • Exportieren Sie den Bericht nach Excel. 
  • Der Name des Arbeitsblatts stimmt jetzt mit der PageName-Eigenschaft des Tablix-Objekts überein.
2
Vivek Arkalgud

Setzen Sie den Tabellennamen in den Seitenkopf oder die Gruppe TableRow1 in Ihrem Bericht, damit er in jeder Excel-Tabelle an der Position "A1" angezeigt wird. Führen Sie dann diesen Makro in Ihrer Excel-Arbeitsmappe aus.

Sub SelectSheet()
        For i = 1 To ThisWorkbook.Sheets.Count
        mysheet = "Sheet" & i
        On Error GoTo 10
        Sheets(mysheet).Select
        Set Target = Range("A1")
        If Target = "" Then Exit Sub
        On Error GoTo Badname
        ActiveSheet.Name = Left(Target, 31)
        GoTo 10
Badname:
        MsgBox "Please revise the entry in A1." & Chr(13) _
        & "It appears to contain one or more " & Chr(13) _
        & "illegal characters." & Chr(13)
        Range("A1").Activate
10
        Next i
End Sub
2
James Kuchynski

Es gibt keinen direkten Weg. Sie exportieren entweder XML und dann rechts ein XSLT, um es richtig zu formatieren (dies ist der harte Weg). Einfacher ist es, mehrere Berichte ohne explizite Seitenumbrüche zu schreiben, sodass jeder nur in Excel in ein Blatt exportiert und dann ein Skript geschrieben wird, das für Sie zusammengeführt wird. In beiden Fällen ist ein Nachverarbeitungsschritt erforderlich.

1
zzawaideh

Die Rechteckmethode

Die einfachste und zuverlässigste Methode, die ich beim Erstellen von Arbeitsblättern/Seitenumbrüchen gefunden habe, ist die Verwendung des Rechteckwerkzeugs.

Gruppieren Sie Ihre Seite in Rechtecke oder ein einzelnes Rechteck, das die Seite in einem Unterbericht ausfüllt, wie folgt:

  • Die schnellste Methode, die ich beim Platzieren des Rechtecks ​​gefunden habe, besteht darin, es um die Objekte zu zeichnen, die Sie im Rechteck platzieren möchten.

  • Klicken Sie mit der rechten Maustaste und senden Sie das Rechteck im Layout-Menü nach hinten.

  • Wählen Sie alle Ihre Objekte aus und ziehen Sie sie leicht, aber stellen Sie sicher, dass sie an derselben Stelle landen, an der sie waren. Sie befinden sich jetzt alle im Rechteck.

In den Rechteckeigenschaften können Sie festlegen, dass der Seitenumbruch am Anfang oder am Ende des Rechtecks ​​angezeigt wird. Der Name der Seite kann auf einem Ausdruck basieren. 

Die Arbeitsblätter werden genauso benannt wie der Name der Seite. 

Doppelte Namen haben eine Suffixnummer in Klammern. 

Hinweis: Stellen Sie sicher, dass die Namen gültige Arbeitsblattnamen sind.

1

Ich konnte dies nach komplexeren Anweisungen, die von Valentino Vranken und rao vorgeschlagen wurden, erledigen, aber hier ist ein einfacher Ansatz für einen einfacheren Bericht. Dadurch wird jede Tabelle auf einem separaten Blatt platziert und in Excel benannt. Es scheint keinen Einfluss auf andere Exporte wie PDF und Word zu haben.

Zuerst überprüfen Sie in Tablix Properties Ihrer Tabellen unter General entweder Add a page break before or after. Dies trennt den Bericht in Arbeitsblätter.

Klicken Sie dann in jeder Tabelle auf die Tabelle, wählen Sie in der Ansicht Grouping auf der Seite Row Groups die übergeordnete Gruppe oder die Standardzeilengruppe aus, und setzen Sie dann in der Ansicht Properties unter Group -> PageBreakBreakLocation auf None und PageName auf den Namen des Blattes.

1
LostNomad311

Sie können -sed- und -grep- verwenden, um den XML-Header jeder Datei zu ersetzen oder in diesen zu schreiben, und geben Sie den gewünschten Blattnamen (z. B. blattname1) zwischen jedem Vorkommen der Tags an:

<Sheetnames>?sheetname1?</Sheetnames>
0
eric.a.booth

Diese Verwendung der PageName-Eigenschaft für ein Objekt ermöglicht zwar das Anpassen der exportierten Blattnamen in Excel. Beachten Sie jedoch, dass die Namespace-Definitionen Ihres Berichts auch aktualisiert werden können, was die Möglichkeit der erneuten Bereitstellung des Berichts auf Ihrem Server beeinträchtigen kann. 

Ich hatte einen Bericht, auf den ich dies innerhalb von BIDS angewendet habe, und es wurde mein Namespace von 2008 auf 2010 aktualisiert. Als ich versuchte, den Bericht auf einem 2008R2-Berichtsserver zu veröffentlichen, erhielt ich die Fehlermeldung, dass der Namespace ungültig war und musste alles zurücksetzen . Ich bin mir sicher, dass meine Umstände einzigartig sein können und vielleicht wird dies nicht immer passieren, aber ich hielt es für würdig, darüber zu berichten. Nachdem ich das Problem gefunden hatte, half diese Seite dabei, den Namespace zurückzusetzen (Es gibt Tags, die zusätzlich zum Zurücksetzen des Namespaces entfernt werden müssen):

http://beatheadagainstwall.blogspot.com/2011/03/invalid-target-namespace-hen-deploying.html?showComment=1440647962263#c5741523651495876761

0
svenGUTT