Microsoft Excel へのエクスポート (レポート ビルダー 3.0 および SSRS)

Excel 表示拡張機能では、Microsoft Excel 97 以降と互換性のあるレポートがレンダリングされます。この後で説明するように、レポートを Excel スプレッドシートにエクスポートすると、一部のレイアウトと元のデザイン要素が除去されます。Microsoft Excel としてレンダリングされるレポートの形式は BIFF (Binary Interchange File Format) です。このレンダラーで生成されるファイルのコンテンツ タイプは application/vnd.ms-excel です。このレンダラーで生成されるファイル名の拡張子は .xls です。

セキュリティに関する注意セキュリティに関する注意

String 型のパラメーターを定義する際には、任意の値が許容されるテキスト ボックスが表示されます。クエリ パラメーターと関連付けられていないレポート パラメーターがあり、このパラメーター値がレポートに含まれていると、レポート ユーザーが、式の構文、スクリプト、または URL をパラメーター値に入力して、このレポートを Excel に変換することも可能になります。別のユーザーがこのレポートを表示して、表示されたパラメーター コンテンツをクリックすると、悪意のあるスクリプトまたはリンクが意図せず実行されてしまう可能性があります。

悪意のあるスクリプトを誤って実行するリスクを軽減するためには、信頼されたソースのレポートしか開かないようにする必要があります。レポートの保護の詳細については、「レポートとリソースの保護」を参照してください。

注意

レポート定義 (.rdl) は、Business Intelligence Development Studio のレポート ビルダー 3.0 およびレポート デザイナーで作成および変更できます。これらの作成環境では、レポートおよび関連アイテムの作成方法、開く方法、および保存方法が異なります。詳細については、microsoft.com Web サイトの「レポート デザイナーとレポート ビルダー 3.0 でのレポートのデザイン (SSRS)」を参照してください。

この記事の内容

Excel のレポート アイテム

ページ割り当て

ワークシートのタブ名

ドキュメント プロパティ

ページ ヘッダーとページ フッター

対話性

Excel スタイルのレンダリング

Excel の制限

実行時のレポートの変更

デバイス情報設定

Excel のレポート アイテム

四角形、サブレポート、レポート本文、およびデータ領域は、Excel のセル範囲としてレンダリングされます。テキスト ボックス、画像、グラフ、データ バー、スパークライン、マップ、ゲージ、およびインジケーターは、必ず単一の Excel セル内にレンダリングされます。レポートの他の部分のレイアウトによっては、セルが結合される場合もあります。

画像、グラフ、スパークライン、データ バー、マップ、ゲージ、インジケーター、および線は、単一の Excel セル内で、セル グリッドの一番上に来るように配置されます。線はセル罫線としてレンダリングされます。

グラフ、スパークライン、データ バー、マップ、ゲージ、およびインジケーターは画像としてエクスポートされます。グラフの値やメンバー ラベルなど、これらのアイテムが表すデータそのものは一緒にエクスポートされず、レポート内のデータ領域の列または行に含まれていない限り、Excel ブックでは使用できません。

グラフ、スパークライン、データ バー、マップ、ゲージ、およびインジケーターのデータを操作する場合は、レポートを .csv ファイルにエクスポートするか、レポートから Atom 準拠のデータ フィードを作成します。詳細については、「CSV ファイルへのエクスポート (レポート ビルダー 3.0 および SSRS)」および「レポートからのデータ フィードの生成 (レポート ビルダー 3.0 および SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

ページ割り当て

このレンダラーでは、論理的な改ページのみがサポートされます。明示的に定義された論理改ページごとに、新しい Excel ワークシート タブが作成されます。

ページの名前付け

見出しマップを除き、ブック内にワークシートが 1 つしか存在しない場合は、レポート名がワークシートの名前になります。

ブック内の見出しマップ以外に複数のワークシートが存在する場合、ワークシートには SheetX 形式の名前が付けられます。ここで、X は、ブック内のシート番号になります。たとえば、5 番目のワークシートには、Sheet5 という名前が付きます。

ページのサイズ設定

Excel 表示拡張機能では、ページの高さ設定と幅設定を使って、Excel ワークシートで定義する用紙設定が決定されます。まず、PageHeight プロパティと PageWidth プロパティの設定が、最も一般的ないずれかの用紙サイズと比較されます。

一致するものが見つからなかった場合は、プリンターの既定のページ サイズが使用されます。用紙方向は、ページの幅が高さよりも小さければ [縦] に、それ以外の場合は [横] に設定されます。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

ワークシートのタブ名

レポートを Excel ファイルにエクスポートすると、改ページによって生じたレポートの各ページが別々のワークシートにエクスポートされます。レポートの最初のページ名を指定した場合、既定では、その Excel ワークブックの各ワークシートにこの名前が使用されます。名前は、ワークシートのタブに表示されます。ただし、ワークブック内の各ワークシートは一意の名前を使用する必要があるため、追加のワークシートごとに 1 から開始され昇順に 1 ずつ増加する整数値がワークブック名に追加されます。たとえば、最初のページ名が "会計年度ごとの売り上げレポート" である場合、2 番目のワークシート名は "会計年度ごとの売り上げレポート1"、3 番目のワークシート名は "会計年度ごとの売り上げレポート2" となります。

改ページによって生じたすべてのレポート ページに新しいページ名がある場合は、各ワークシートには関連するページ名が付けられます。ただし、これらのページ名が一意でない場合があります。ページ名が一意でない場合、ワークシートには最初に説明したページ名と同じ方法で名前が付けられます。たとえば、2 つのグループのページ名が "東北部の売り上げ" である場合、1 つのワークシートに "東北部の売り上げ" という名前が付けられ、もう一方のワークシートには "東北部の売り上げ1" という名前が付けられます。

レポートに、最初のページ名も改ページに関連付けられたページ名もない場合、ワークシートのタブには、"シート1"、"シート2" と順番に続く既定の名前が使用されます。

Reporting Services には、ユーザーが指定する方法で Excel にエクスポートできるレポートの作成を支援するために、レポート、データ領域、グループ、および四角形に設定するプロパティが用意されています。詳細については、「Reporting Services の改ページについて (レポート ビルダー 3.0 および SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

ドキュメント プロパティ

Excel レンダラーでは、次のメタデータが Excel ファイルに書き込まれます。

レポート要素のプロパティ

説明

Created

レポート実行の日付と時刻 (ISO 形式の日付/時刻値)。

Author

Report.Author

Description

Report.Description

LastSaved

レポート実行の日付と時刻 (ISO 形式の日付/時刻値)。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

ページ ヘッダーとページ フッター

ページ ヘッダーは、デバイス情報の SimplePageHeaders 設定によって 2 とおりの方法でレンダリングされます。つまり、ページ ヘッダーが各ワークシートのセル グリッドの最上部にレンダリングされる場合と、Excel ワークシートの実際のヘッダー セクションにレンダリングされる場合とがあります。既定では、ヘッダーが Excel ワークシートのセル グリッドにレンダリングされます。

ページ フッターは、SimplePageHeaders 設定の値に関係なく、常に Excel ワークシートの実際のフッター セクションにレンダリングされます。

Excel のヘッダー セクションとフッター セクションでサポートされる最大文字数は 256 文字 (マークアップを含む) です。この制限を超えた場合、Excel レンダラーは、文字数の合計を減らすために、ヘッダー文字列またはフッター文字列の終端位置を起点として、マークアップ文字を削除します。マークアップ文字をすべて削除しても最大文字数を超えていた場合、文字列が右側から切り詰められます。

SimplePageHeader の設定

既定では、デバイス情報の SimplePageHeaders 設定は False に設定されます。つまり、ページ ヘッダーは、レポートの行として Excel ワークシート領域にレンダリングされます。ヘッダーが格納されるワークシートの行はロックされます。Excel のウィンドウ枠は固定することも、固定を解除することもできます。[印刷タイトル] オプションが選択されている場合、すべてのワークシート ページについて、これらのヘッダーが印刷されるように自動的に設定されます。

Excel の [ページ レイアウト] タブの [印刷タイトル] オプションが選択されている場合、ページ ヘッダーは、見出しマップの表紙を除く、ブック内のすべてのワークシートの最上部に表示されます。[レポート ヘッダーのプロパティ] ダイアログ ボックスまたは [レポート フッターのプロパティ] ダイアログ ボックスで、[最初のページに印刷する] オプションまたは [最後のページに印刷する] オプションが選択されていなかった場合、最初または最後のページにはヘッダーが追加されません。

ページ フッターは、Excel のフッター セクションにレンダリングされます。

Excel の制限により、Excel のヘッダー/フッター セクションにレンダリングできるレポート アイテムはテキスト ボックスだけです。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

対話性

Excel では、いくつかの対話型要素がサポートされています。具体的な動作について説明します。

表示/非表示

Microsoft Excel には、表示と非表示の切り替えができるレポート アイテムの、エクスポート時の扱いに関して制限があります。表示と非表示の切り替えが可能なレポート アイテムを含んだグループ、行、および列は、Excel のアウトラインとしてレンダリングされます。アウトラインでは、行全体または列全体を展開したり折りたたんだりできますが、それが原因で、意図していないレポート アイテムまで折りたたんで表示されてしまうことがあります。また、アウトラインが重なり合うことによって、Excel のアウトライン記号が散在し、わかりにくくなってしまう場合もあります。Excel 表示拡張機能では、こうした問題を解消するために、アウトラインに関して次の規則が適用されます。

  • 左上隅に存在する、表示と非表示の切り替えが可能なレポート アイテムは、Excel でも引き続き表示と非表示の切り替えができます。表示と非表示の切り替えが可能なレポート アイテムが左上隅にあり、そのレポート アイテムと水平方向または垂直方向の領域を共有して、表示と非表示の切り替えが可能な別のレポート アイテムがある場合、後者のレポート アイテムについては、Excel での表示と非表示の切り替えができなくなります。

  • データ領域の折りたたみを行方向とするか、列方向とするかを決定するために、切り替えを制御するレポート アイテムの位置と、切り替え対象であるレポート アイテムの位置が判定されます。切り替えを制御しているアイテムが、切り替え対象であるアイテムよりも前にある場合、そのアイテムには行方向の折りたたみが適用されます。それ以外の場合は、列方向の折りたたみが適用されます。切り替え対象となる領域に対して、切り替えを制御しているアイテムの位置が、等しく横でも上でもある場合、そのアイテムのレンダリングには、行方向の折りたたみが適用されます。

  • 表示拡張機能は、レンダリングしたレポートのどこに小計を配置するかを決定するために、最初に出現する動的メンバーを調べます。そのすぐ上に、対応する静的メンバーがある場合、その動的メンバーは小計であると見なされます。また、これが集計データであることを示すためのアウトラインが設定されます。動的メンバーに対応する静的なメンバーが存在しなかった場合、最初の動的メンバーが小計と見なされます。

  • Excel の制限により、アウトラインの入れ子レベルは最大 7 です。

見出しマップ

レポートに見出しマップ ラベルが存在する場合、その見出しマップがレンダリングされます。見出しマップは、表紙の Excel ワークシートとして、ブックの最初のタブ位置に挿入され、レンダリングされます。ワークシートには、"Document map" という名前が付けられます。

見出しマップに表示されるテキストは、レポート アイテムまたはレポート グループの DocumentMapLabel プロパティによって決まります。見出しマップ ラベルは、先頭列の先頭行を起点とし、レポートにおける出現順に一覧表示されます。各見出しマップ ラベルのセルは、レポートでの見出しの階層に合わせてインデントされます。それぞれのインデント レベルは、ラベルを後続の列に配置することによって表現されます。Excel でサポートされるアウトラインの入れ子レベルは、最大 256 です。

見出しマップのアウトラインは、折りたたみ可能な Excel アウトラインとしてレンダリングされます。アウトライン構造は、見出しマップの入れ子構造と一致します。アウトラインの展開と折りたたみは、第 2 レベルからとなります。

マップのルート ノードはレポート名 (<reportname>.rdl) で、これを対話的に操作することはできません。見出しマップ リンクのフォントは Arial (10 ポイント) です。

ドリルスルー リンク

テキスト ボックス内にあるドリルスルー リンクは、テキストが表示されるセルに Excel ハイパーリンクとしてレンダリングされます。画像やグラフのドリルスルー リンクは、Excel ハイパーリンクとして、画像上にレンダリングされます。クリックすると、クライアントの既定のブラウザーが起動し、対象となる HTML が表示されます。

ハイパーリンク

テキスト ボックス内にあるハイパーリンクは、テキストが表示されるセルに Excel ハイパーリンクとしてレンダリングされます。画像やグラフのハイパーリンクは、Excel ハイパーリンクとして、画像上にレンダリングされます。クリックすると、クライアントの既定のブラウザーが起動し、対象の URL に移動します。

対話的な並べ替え

Excel では、対話的な並べ替えがサポートされません。

ブックマーク

テキスト ボックス内のブックマーク リンクは、テキストが表示されるセルに Excel ハイパーリンクとしてレンダリングされます。画像やグラフのブックマーク リンクは、Excel ハイパーリンクとして、画像上にレンダリングされます。クリックすると、ブックマークが付けられたレポート アイテムの Excel セルに移動します。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

Excel スタイルのレンダリング

以降、Excel におけるアイテムのレンダリングについて簡単に説明します。

色パレット

Excel では、最大 56 色のパレットがサポートされます。カスタム パレットには、レポートに使用されている、重複しない最初の 56 色が定義されます。レポートに使用されている色数が 56 色を超えている場合、必要な色が、あらかじめパレットに定義されている 56 色のいずれかと対応付けられます。パレット内の既存の色と照合する際には、Excel のカラー マッチング アルゴリズムが使用されます。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

Excel の制限

Excel では、BIFF フォーマットの機能上、エクスポートされたレポートには制限が適用されます。最も重要な制限は、次のとおりです。

  • ワークシート内の最大行数は 65,536 に制限されています。この制限を超えた場合は、レンダラーによってエラー メッセージが表示されます。

  • ワークシート内の最大列数は 256 に制限されています。この制限を超えた場合は、レンダラーによってエラー メッセージが表示されます。

  • 最大列幅は 255 文字または 1726.5 ポイントです。レンダラーでは、列幅がこの制限を下回っているかどうかは検証されません。

  • 行の高さの最大値は 409 ポイントです。行の内容が多すぎて行の高さが 409 ポイントを超えた場合、内容が分割されて、次の行に追加されます。

  • セル内の最大文字数は 32,767 文字に制限されています。この制限を超えた場合は、レンダラーによってエラー メッセージが表示されます。

    注意

    Excel のワークシートでセルに表示される文字数は約 1000 文字ですが、最大文字数に達していない限り、数式バーでの編集は可能です。

  • Excel には最大ワークシート数が定義されていませんが、メモリやディスクの空き容量など、外部的な要因によって制限が適用される場合もあります。

  • Excel では、アウトラインの入れ子が 7 レベルまで許容されます。

  • 他のアイテムの表示と非表示を制御するレポート アイテムが、前後の行または列に存在しない場合、アウトラインも無効化されます。

Excel ファイルのサイズ

レポートを最初にエクスポートして Excel に保存するときは、Excel で *.xls ブック ファイルに自動的に適用されるファイル最適化のメリットを得ることはできません。ファイルのサイズが大きくなると、電子メール サブスクリプションと添付ファイルに関する問題が生じる可能性があります。エクスポートしたレポートの *.xls ファイルのサイズを小さくするには、その *.xls ファイルをいったん開いてから再保存します。ブックを再保存することで、通常はファイル サイズが 40 ~ 50 パーセント縮小します。

テキスト ボックスとテキスト

テキスト ボックスとテキストには、次の制限事項が適用されます。

  • テキスト ボックスの値が式である場合、その値は Excel の数式には変換されません。各テキスト ボックスの値は、レポートの処理時に評価されます。評価された式は、Excel の各セルのコンテンツとしてエクスポートされます。

  • テキスト ボックスは 1 つの Excel セル内に表示されます。Excel セル内部の個々のテキストでサポートされている書式設定は、フォント サイズ、フォント フェイス、装飾、およびフォント スタイルです。

  • "上線" のテキスト効果は Excel ではサポートされません。

  • Excel では、セルの左右に約 3.75 ポイントの既定の余白が追加されます。テキスト ボックスの余白設定が 3.75 ポイント未満で、かろうじてテキストを表示するだけの幅を保っている場合、Excel ではそのテキストが折り返される場合があります。

    注意

    この問題を回避するには、レポートのテキスト ボックスの幅を大きくしてください。

画像

画像には、次の制限事項が適用されます。

  • レポート アイテムの背景画像は無視されます。Excel では、セルごとの背景イメージはサポートされていません。

  • Excel 表示拡張機能では、レポート本文の背景画像のみがサポートされます。レポート本文の背景画像をレポートに表示する際は、画像がワークシートの背景画像としてレンダリングされます。

四角形

四角形には、次の制限事項が適用されます。

  • レポート フッターの四角形は Excel にエクスポートされません。ただし、レポート本文、Tablix セルなどの四角形は、Excel のセル範囲としてレンダリングされます。

レポートのヘッダーとフッター

レポートのヘッダーとフッターには、次の制限事項が適用されます。

  • Excel のヘッダーとフッターでサポートされる最大文字数は 256 文字 (マークアップを含む) です。文字列は、表示拡張機能により 256 文字で切り捨てられます。

  • Reporting Services は、レポートのヘッダーとフッターにおける余白をサポートしていません。Excel へのエクスポート時に、これらの余白の値はゼロに設定され、複数行のデータを含むヘッダーやフッターは、プリンターの設定によっては複数行に印刷されない場合があります。

  • ヘッダーやフッターのテキスト ボックスは、Excel へのエクスポート時にその書式が維持されますが、配置は維持されません。これは、レポートが Excel にレンダリングされる際に先頭と末尾のスペースが切り捨てられるためです。

セルの結合

セルの結合には、次の制限事項が適用されます。

  • セルが結合されている場合、右端で折り返す機能は正常に機能しません。AutoSize プロパティが設定されたテキスト ボックスが表示される行に結合セルが存在している場合、自動調整は適切に機能しません。

Excel レンダラーは、主にレイアウト レンダラーとして機能します。その目的は、表示レポートのレイアウトを Excel ワークシートにできる限り忠実にレプリケートすることであり、その結果として、レポートのレイアウトを維持するためにセルが結合される場合があります。Excel で並べ替えが適切に機能するためには、非常に特殊な方法でセルを結合する必要があるので、結合セルが問題となる可能性があります。たとえば、Excel での並べ替えには、結合範囲のセルが同じサイズであることが必要です。

Excel ワークシートにエクスポートするレポートを並べ替えできるようにすることが重要である場合、Excel ワークシートで結合セルの数を減らすために、次の説明を参照してください。これは、Excel での並べ替え機能が複雑になる一般的な原因について説明したものです。

  • レポート アイテムの左右の位置が揃っていないことが、結合セルが生じる最も一般的な原因となっています。すべてのレポート アイテムの左右の位置を揃えるようにしてください。レポート アイテムの位置を揃えて幅を等しくすることにより、多くの場合、この問題が解決します。

  • すべてのレポート アイテムの位置を揃えても、一部の列が引き続き結合される場合があります。この状態は、Excel ワークシートのレンダリング時に、Excel 内での単位変換と端数処理が原因で生じることがあります。レポート定義言語 (RDL) では、インチ、ピクセル、センチメートル、ポイントなどのさまざまな測定単位で位置とサイズを指定できます。ただし、Excel 内で使用する単位はポイントです。変換の実行、およびインチやセンチメートルをポイントに変換する際の端数処理に伴う精度のずれを最小限に抑えるために、すべての測定値をポイントで指定して、変換を経由しない直接的な結果が得られるようにすることを考慮してください。1 インチは 72 ポイントです。

レポートの行グループと列グループ

レポートに行グループまたは列グループが含まれている場合、レポートを Excel にエクスポートするときに空のセルが挿入されます。たとえば、あるレポートで、販売ルートと郵便番号によって行をグループ化するとします。各販売ルートには多数の郵便番号が含まれており、各郵便番号には多数の店舗名がリストされています。次の図に、このレポートを示します。

2 つの行グループとデータ値を含むレポート

このレポートを Excel にエクスポートした場合、郵便番号の列の 1 つのセルにしか郵便番号が表示されません。値は、レポート内でのテキストの配置 (上、中央、または下) に応じて、最初、中央、または最後のセルに表示されます。その他のセルは空になります。店舗名が格納されている列のセルは空になりません。次の図に、Excel にエクスポートされた後のレポートを示します。赤色のセル罫線は、強調のために追加されたもので、エクスポートされたレポートには含まれません。

2 つの行グループを含むレポートを Excel にエクスポート

このため、行グループまたは列グループが含まれているレポートを Excel にエクスポートしてピボット テーブルで表示する場合は、レポートの変更が必要です。ワークシートをすべてのセルに値が設定されたフラット テーブルにするには、データが欠落しているセルにグループ値を追加する必要があります。次の図に、更新したワークシートを示します。

2 つの行グループを含むレポートを Excel で更新

レポート データを詳しく分析するために Excel にエクスポートするという特定の目的でレポートを作成した場合、レポートに行グループまたは列グループを含めないことを検討してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

実行時のレポートの変更

レポートを複数の形式で表示する必要があるにもかかわらず、必要なすべての形式で目的どおりに表示されるレポート レイアウトを作成することができない場合は、組み込みの RenderFormat グローバルの値を使用して、レポートの外観を実行時に条件に応じて変更するようにしてください。この方法により、使用するレンダラーに応じてレポート アイテムの表示/非表示を切り替えて、それぞれの形式で最適な結果を得ることができます。詳細については、「組み込み Globals および Users 参照の使用 (レポート ビルダー 3.0 および SSRS)」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

デバイス情報設定

デバイス情報設定を変更することによって、このレンダラーの既定の設定の一部を変更することができます。詳細については、「Excel デバイス情報設定」を参照してください。

[トップに戻る] リンクで使用される矢印アイコントップに戻る

変更履歴

変更内容

行グループおよび列グループが含まれているレポートのエクスポートに関する情報を追加しました。