33

単一ページのレポートを Excel にエクスポートすると、Excel のシートはレポート名で命名されます。レポートに複数のページがある場合、シートには sheet1、sheet2、... という名前が付けられます。SSRS 2005 でシート名を指定する方法はありますか?

解決策:いくつかのグーグル検索の後にこれを見つけました: SQL Server RS Excelでシート名を変更する:QnD XSLT

動作する場合は、アップデートを試して投稿します。

4

10 に答える 10

23

すべてのリンクが暗くなった場合に備えて、ネクロマンシング:

  1. レポートにグループを追加する
    また、ここでグループ式の並べ替え順序を設定することをお勧めします。これにより、タブはアルファベット順に並べ替えられます (または並べ替えたい方法で並べ替えます)。

    1. レポートにグループを追加する

    • 「ツァイレングルッペ」とは「ターゲットグループ」を意味します
    • 「Gruppeneigenschaften」は「グループ プロパティ」を意味します
  2. グループのプロパティで改ページを設定する 2. グループのプロパティで改ページを設定する

    • 「Seitenumbruche」は「改ページ」を意味します
    • 「Zwischen den einzelnen Instanzen einer Gruppe」は、「グループの個々のインスタンスの間」を意味します
  3. ここで、Tablix自体ではなくPageName、Tablixメンバー(グループ)のを設定する必要があります。 適切なオブジェクトを取得した場合、プロパティ グリッドのタイトル ボックスに"Tablix Member " (ドイツ語で Tablix-Element) と表示されます。オブジェクトが間違っている場合は、プロパティ グリッドのタイトル ボックスに"table/tablix" ( memberなし)のみが表示されます。PageName

  4. 注: Tablix メンバーの代わりに Tablix を取得すると、すべてのタブに同じタブ名が付けられ、その後に(tabNum)! それが起こった場合、問題が何であるかがわかります。 Tablix メンバー

マルチタブExcelファイル

于 2016-06-15T12:46:29.243 に答える
15

別のシートにエクスポートしてカスタム名を使用するには、SQL Server 2008 R2以降、グループ化、ページ分割、およびグループのPageNameプロパティの組み合わせを使用してこれを行うことができます。

または、特定の名前を付けたいのが1枚のシートだけの場合は、レポートのInitialPageNameプロパティを試してください。

詳細な説明については、こちらをご覧ください:http: //blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-excel-export/

于 2012-08-08T06:32:26.490 に答える
5

SSRS 2008 R2では、ページグループのPageNameプロパティを使用します:http: //bidn.com/blogs/bretupdegraff/bidn-blog/234/new-features-of-ssrs-2008-r2-part-1-naming-excel-sheets -when-exporting-reports

于 2012-07-17T11:31:10.257 に答える
3

Excel へのエクスポート中にタブ名を追加するには、次の方法を使用しました。

  • レポート デザイン ウィンドウで、Tablix オブジェクトを選択します。
  • Tablix オブジェクトのプロパティ ウィンドウを開きます。
  • PageName必要なタブ名をプロパティに追加します。
  • レポートを実行する
  • レポートを Excel にエクスポートします。
  • PageNameこれで、ワークシート名はTablix オブジェクトのプロパティと同じになります。
于 2015-07-16T01:01:46.880 に答える
2

タブ名をレポートのページ ヘッダーまたはグループ TableRow1 に配置して、各 Excel シートの "A1" 位置に表示されるようにします。次に、このマクロを Excel ブックで実行します。

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
于 2011-06-15T12:22:12.527 に答える
1

直接的な方法はありません。XML をエクスポートしてから、XSLT を正しくフォーマットして適切にフォーマットします (これは難しい方法です)。簡単な方法は、明示的な改ページなしで複数のレポートを作成し、各レポートを Excel でのみ 1 つのシートにエクスポートしてから、マージするスクリプトを作成することです。いずれにせよ、後処理ステップが必要です。

于 2009-10-01T17:36:01.483 に答える
0

-sed- および -grep- を使用して、各ファイルの xml ヘッダーを置換または書き込み、目的のシート名 (sheetname1 など) をタグの間に挿入することができます。

<Sheetnames>?sheetname1?</Sheetnames>
于 2009-10-06T01:41:13.713 に答える
0

オブジェクトで PageName プロパティをこのように使用すると、実際には Excel でエクスポートされたシート名をカスタマイズできますが、レポートの名前空間の定義も更新される可能性があることに注意してください。これにより、レポートをサーバーに再展開する機能に影響を与える可能性があります。

これを BIDS 内に適用したレポートがあり、名前空間が 2008 から 2010 に更新されました。レポートを 2008R2 レポート サーバーに発行しようとすると、名前空間が無効であるというエラーが表示され、すべてを元に戻す必要がありました。 . 私の状況は独特であり、おそらくこれが常に起こるとは限りませんが、投稿する価値があると思いました. 問題が見つかったら、このページで名前空間を元に戻すことができました (名前空間のリセットに加えて、削除する必要があるタグもあります)。

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

于 2015-08-27T04:10:22.920 に答える