単一ページのレポートを Excel にエクスポートすると、Excel のシートはレポート名で命名されます。レポートに複数のページがある場合、シートには sheet1、sheet2、... という名前が付けられます。SSRS 2005 でシート名を指定する方法はありますか?
解決策:いくつかのグーグル検索の後にこれを見つけました: SQL Server RS Excelでシート名を変更する:QnD XSLT
動作する場合は、アップデートを試して投稿します。
単一ページのレポートを Excel にエクスポートすると、Excel のシートはレポート名で命名されます。レポートに複数のページがある場合、シートには sheet1、sheet2、... という名前が付けられます。SSRS 2005 でシート名を指定する方法はありますか?
解決策:いくつかのグーグル検索の後にこれを見つけました: SQL Server RS Excelでシート名を変更する:QnD XSLT
動作する場合は、アップデートを試して投稿します。
すべてのリンクが暗くなった場合に備えて、ネクロマンシング:
レポートにグループを追加する
また、ここでグループ式の並べ替え順序を設定することをお勧めします。これにより、タブはアルファベット順に並べ替えられます (または並べ替えたい方法で並べ替えます)。
ここで、Tablix自体のではなくPageName
、Tablixメンバー(グループ)のを設定する必要があります。
適切なオブジェクトを取得した場合、プロパティ グリッドのタイトル ボックスに"Tablix Member " (ドイツ語で Tablix-Element) と表示されます。オブジェクトが間違っている場合は、プロパティ グリッドのタイトル ボックスに"table/tablix" ( memberなし)のみが表示されます。PageName
注: Tablix メンバーの代わりに Tablix を取得すると、すべてのタブに同じタブ名が付けられ、その後に(tabNum)
! それが起こった場合、問題が何であるかがわかります。
別のシートにエクスポートしてカスタム名を使用するには、SQL Server 2008 R2以降、グループ化、ページ分割、およびグループのPageNameプロパティの組み合わせを使用してこれを行うことができます。
または、特定の名前を付けたいのが1枚のシートだけの場合は、レポートのInitialPageNameプロパティを試してください。
詳細な説明については、こちらをご覧ください:http: //blog.hoegaerden.be/2011/03/23/where-the-sheets-have-a-name-ssrs-excel-export/
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
Excel へのエクスポート中にタブ名を追加するには、次の方法を使用しました。
PageName
必要なタブ名をプロパティに追加します。PageName
これで、ワークシート名はTablix オブジェクトのプロパティと同じになります。タブ名をレポートのページ ヘッダーまたはグループ 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
直接的な方法はありません。XML をエクスポートしてから、XSLT を正しくフォーマットして適切にフォーマットします (これは難しい方法です)。簡単な方法は、明示的な改ページなしで複数のレポートを作成し、各レポートを Excel でのみ 1 つのシートにエクスポートしてから、マージするスクリプトを作成することです。いずれにせよ、後処理ステップが必要です。
-sed- および -grep- を使用して、各ファイルの xml ヘッダーを置換または書き込み、目的のシート名 (sheetname1 など) をタグの間に挿入することができます。
<Sheetnames>?sheetname1?</Sheetnames>
オブジェクトで PageName プロパティをこのように使用すると、実際には Excel でエクスポートされたシート名をカスタマイズできますが、レポートの名前空間の定義も更新される可能性があることに注意してください。これにより、レポートをサーバーに再展開する機能に影響を与える可能性があります。
これを BIDS 内に適用したレポートがあり、名前空間が 2008 から 2010 に更新されました。レポートを 2008R2 レポート サーバーに発行しようとすると、名前空間が無効であるというエラーが表示され、すべてを元に戻す必要がありました。 . 私の状況は独特であり、おそらくこれが常に起こるとは限りませんが、投稿する価値があると思いました. 問題が見つかったら、このページで名前空間を元に戻すことができました (名前空間のリセットに加えて、削除する必要があるタグもあります)。