Microsoft Excel へのエクスポート

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

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

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

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

Excel のレポート アイテム

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

画像、グラフ、および線は、単一の Excel セル内で、セル グリッドの一番上に来るように配置されます。線はセル罫線としてレンダリングされます。

ページ割り当て

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

ページの名前付け

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

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

ページのサイズ設定

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

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

ドキュメント プロパティ

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 の数式に変換されません。各テキスト ボックスの値は、レポートの処理中に評価されます。評価された式は、各 Excel セルのコンテンツとしてエクスポートされます。

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

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

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

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

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

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

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

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

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

    注意注意

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

デバイス情報設定

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