[]
ActiveReportsでは、ActiveReports for .NET 20.0Jインポートウィザードを使用することでMicrosoft ExcelファイルをActiveReportsへ移行することができます。ActiveReports for .NET 18.0Jインポートウィザードは、複数のExcelファイルシートをActiveReportsに変換したい場合に特に有効です。このウィザードを使用することで、ActiveReports内でExcelファイルの各シートのレイアウトを手動で変更する時間と労力を省くことができます。
必要に応じてExcelファイルに定義情報を追加し、ウィザードにしたがって操作するだけで、Excelファイルのシートをページレポート/RDLレポートに簡単にインポートすることができます。Excelシートが1つの場合はレポートファイルとしてインポートされ、シートの名前はそのままレポート名になります。複数シートを持つExcelファイルは、デフォルトでは個別のレポートとしてインポートされ、名前もそれぞれ対応するExcelシートの名前がレポート名になります。ウィザード内で[単一のレポートファイルにすべてのシートをマージ]オプションを選択すると、複数のExcelシートを別々のレポートページとしてインポートすることができます。
注意:
.xls(Excel 97-2003)と.xlsm(マクロを含むOpen XML形式文書)はサポートされていないため、インポートすることができません。
ActiveReports for .NET 20.0Jインポートウィザードから、Excelファイルをセクションレポートにインポートすることはできません。
ActiveReports for .NET 20.0JインポートウィザードでのExcelファイルのインポート
ActiveReports for .NET 20.0Jインポートウィザードを起動します。ウィザードは、[スタート]メニュー、あるいは ..\ActiveReportsNET20\Tools から ActiveReports.Imports.Win.exe を実行します。
[ActiveReports for .NET 20.0Jインポートウィザード]が表示されたら、[次へ]をクリックします。

インポートするファイルの種類として「Excel workbook (xlsx)」を選択して[次へ]をクリックします。

省略記号<...>をクリックして、インポートするファイルが配置されている場所を参照します。[開く]ダイアログにインポート可能なファイルが一覧表示されます。
インポートするシートを選択し、[開く]をクリックしてダイアログを閉じます。[次へ]をクリックします。

省略記号<...>を使用して、変換したレポートの出力先のフォルダを指定します。また、以下のオプションを設定することができます。
[出力するファイル形式]: Excelファイルをページレポート/RDLレポートのどちらでインポートするかを選択します。ページレポートは複数データソースをサポートしていません。レポートに複数のデータソースを追加したい場合は、RDLレポートを選択する必要があります。
[単一のレポートファイルにすべてのシートをマージ]: Excelシートを別々のレポートページとしてインポートする場合は、このオプションにチェックを入れます。1つ目のシートの名前がレポートの名前になります。
[テキストとしてExcelの数式をインポートする]: Excelの数式をテキストとしてインポートする場合は、このオプションにチェックを入れます。チェックせずにインポートすると、数式は計算の結果としてインポートされます。
メモ: 数式はチェックを入れない場合、計算結果の値としてインポートされActiveRepotsに存在する関数には変換されません。例:ROW関数は、RowNumber関数に変換されません。

[次へ]をクリックして変換を開始します。

変換が完了したら[完了]ボタンをクリックしてダイアログを閉じ、出力先のフォルダへと移動して、変換されたレポートを表示します。[ログファイルを開く]にチェックを入れて、結果ログを確認することもできます。
Excelファイル内のテーブル領域とは、Excelシート内に表形式で配置されたデータに対応するセルの範囲のことを指します。
インポートするExcelファイルに、Tableデータ領域としてActiveReportsにインポートしたい表がある場合は、表の領域を定義したのちにActiveReports for .NET 18.0Jインポートウィザードを起動する必要があります。そのような表が含まれていない場合は、事前の定義は必要ありません。
インポートするExcelファイルを開いて、テーブル領域を選択します。
右クリックして、コンテキストメニューを表示します。
[名前の定義]オプションを選択します。
[新しい名前]ダイアログで、命名規則に基づいてテーブル領域と行を指定します。定義するには、下記の命名規則を守ってください。

[OK]ボタンをクリックします。
ActiveReportsのTableデータ領域へのインポートが必要な表セクションを取得するには、Excel内にある表の領域と行を指定する必要があります。一般的には、表の領域は「 ARTable#.****** 」のように指定します。
# は複数のテーブル領域を指定するために使用しています。Excelで制限されているものでなければ、#に限らずどの文字を使用しても構いません(例 ARTable、ARTable_1、ARTableAbc)。
****** には行(セクション)の名前が入ります(Detail、TableHeader、TableFooter、GroupHeader、またはGroupFooter)。複数行(Table Header/Footer、Detail、Group Header/Footer)を使用している場合は、行ごとに「 # 」を設定する必要があります(例 GroupHeader1、GroupHeader2、……)。
例1: 単一のテーブル領域を定義するには
作業 | 命名規則 |
|---|---|
テーブル領域全体を定義する | ARTable |
行ごとに定義する | ARTable.Detail ARTable.TableHeader ARTable.TableFooter ARTable.GroupHeader1 ARTable.GroupFooter1 |
例2: 複数のテーブル領域を定義するには
作業 | 命名規則 |
|---|---|
テーブル領域全体を定義する | ARTable1 ARTable2 |
行ごとに定義する | ARTable1.Detail ARTable1.TableHeader ARTable1.TableFooter ARTable2.Detail ARTable2.TableHeader ARTable2.TableFooter |
Excelのテーブル領域は、次の変換規則に基づいてActiveReportsにTableデータ領域としてインポートされます。
指定されたExcelのテーブル領域の行数が3行以上にわたる場合、ファイルデータはテーブルのヘッダ、テーブルの詳細、テーブルのフッタに対して次のように変換されます。
Excelの表 | ActiveReportsのTable |
|---|---|
1行目 | テーブルヘッダ |
最後の行 | テーブルフッタ |
その他の行 | 詳細行 |
メモ: Tableデータ領域の詳細行のValue、Location、Size等のプロパティは、Excel表の1行目のセルの値からインポートされます。
指定されたExcelのテーブル領域の行数が2行の場合、ファイルデータは次のように変換されます。
Excelの表 | ActiveReportsのTable |
|---|---|
1行目 | テーブルヘッダ |
2行目 | 詳細行 |
指定されたExcelのテーブル領域の行数が1行の場合、ファイルデータは次のように変換されます。
Excelの表 | ActiveReportsのTable |
|---|---|
1行目 | 詳細行 |
以下は、サポートされているExcelのプロパティと、変換後のActiveReportsのページレポート/RDLレポートのプロパティの対応表です。
Excel アイテム | プロパティ | ページレポート/RDLレポート アイテム | プロパティ |
|---|---|---|---|
ページ設定 | ページ レイアウト | Report | - |
サイズ | PaperSize | ||
印刷の向き: 縦 | PaperOrientation: Portrait | ||
印刷の向き: 横 | PaperOrientation: Landscape | ||
余白(上、下、左、右) | Margins (Top, Bottom, Left, Right) | ||
セル | 値 | TextBox | Value |
位置 | Location (Left, Top) | ||
サイズ | Size (Width, Height) | ||
配置 | - | ||
横書きテキスト | |||
横位置: 標準 | TextAlign: General | ||
横位置: 左詰め(インデント) | TextAlign: Left | ||
横位置: 中央揃え | TextAlign: Center | ||
横位置: 右詰め(インデント) | TextAlign: Right | ||
横位置: 両端揃え | TextAlign: Justify | ||
横位置: 均等割り付け(インデント) | TextJustify: DistributeAllLines | ||
横位置:(その他) | TextAlign: General | ||
縦位置: 上詰め | VerticalAlign: Top | ||
縦位置: 中央揃え | VerticalAlign: Middle | ||
縦位置: 下詰め | VerticalAlign: Bottom | ||
縦位置:(その他) | VerticalAlign: Top | ||
縦書きテキスト | |||
横位置: 標準 | VerticalAlign: Middle | ||
横位置: 左詰め | VerticalAlign: Bottom | ||
横位置: 中央揃え | VerticalAlign: Middle | ||
横位置: 右詰め | VerticalAlign: Top | ||
横位置:(その他) | VerticalAlign: Middle | ||
縦位置: 上詰め(インデント) | TextAlign: Left Padding(Top) | ||
縦位置: 中央揃え(インデント) | TextAlign: Center | ||
縦位置: 下詰め(インデント) | TextAlign: Right Padding(Bottom) | ||
縦位置:(その他) | TextAlign: General | ||
文字の制御: 折り返して全体を表示する | WrapMode: WordWrap | ||
文字の制御: 縮小して全体を表示する | ShrinkToFit: True | ||
文字の方向: 左から右 | Direction: LTR | ||
文字の方向: 右から左 | Direction: RTL | ||
フォント | - | ||
フォント名 | FontFamily | ||
スタイル: 標準 | FontStyle: Normal | ||
スタイル: 斜体 | FontStyle: Italic | ||
スタイル: 太字 | FontWeight: Bold | ||
スタイル: 太字 斜体 | FontWeight: Bold | ||
サイズ | FontSize | ||
色 | Color | ||
下線: なし | TextDecoration: None | ||
下線: 下線 | TextDecoration: Single | ||
罫線 | - | ||
線のスタイル(上、下、左、右): 罫線なし | BorderStyle: None | ||
線のスタイル(上、下、左、右): 実線(細) | BorderStyle: Solid | ||
線のスタイル(上、下、左、右): 点線 | BorderStyle: Dotted | ||
線のスタイル(上、下、左、右): 破線 | BorderStyle: Dashed | ||
線のスタイル(上、下、左、右): 二重線 | BorderStyle: Double | ||
線の色 | BorderColor | ||
線の太さ: 細 | BorderWidth: 1pt | ||
線の太さ: 中 | BorderWidth: 2pt | ||
線の太さ: 太い | BorderWidth: 3pt | ||
塗りつぶし | - | ||
背景色 | BackgroundColor | ||
テーブル領域 | テーブル領域の各セルはTextBoxコントロールに変換されます。 メモ: 表のデータがフィルタリングされている場合でも、テーブル領域全体がActiveReportsにインポートされます。 | Table | Location (Left, Top) Size (Width, Height) FixedSize (Width, Height) |
図 | 図オブジェクトはImageレポートコントロールに変換されます。 | Image | Value Source: Embedded Sizing: FitProportional Location (Left, Top) Size (Width, Height) |
結合したセル、およびテーブル領域を含み、それらがExcelページからはみ出るExcelファイルはインポートされません。
結合したセル - 結合したセルがページの境界線をまたいでいる場合、このセルはインポートされません。
テーブル領域 - テーブル領域がページの境界線をまたいでいる場合、このテーブルはインポートされません。
ActiveReports for .NET 20.0Jインポートウィザードは、パスワードで保護されたExcelファイル の変換はサポートしていません。
Excelのレイアウトでインポートされるのは、1ページ目のものだけです(改ページプレビューに表示されたとおりにインポートされます)。
注意:「拡大/縮小」が100%以外になっている場合は、差異が生じます。
以下のExcelアイテムはActiveReportsにはインポートされません。
ページ
ヘッダ/フッタ
セル
数値の書式(数値、通貨、日付などのすべての分類)
取り消し線
罫線の種類: 対角線
塗りつぶし効果
塗りつぶしパターン
コメント
ハイパーリンク
テーブルのスタイル
条件付き書式
オブジェクト
Table
Shape
Chart
ピボットテーブル
ワードアート
クリップアート
ExcelとActiveReportsでは、描画仕様が異なるため、まったく同じレイアウトが得られるとは限りません。確認されている相違点は、以下の通りです。
縦書きに設定されたセルについて、半角英数字記号の描画内容が異なります。
Excelに表示される行(セル)の高さと、インポートされたActiveReportsのコントロールの高さが異なる場合があります。これは、ActiveReportsはExcelファイル内に保存されている実際の行の高さを参照してインポートする動作となっていますが、Excelの画面上に表示される行(セル)の高さとExcelファイル(.xlsx)内に保存されている行(セル)の高さが異なる場合があることに起因して発生します(例:Excelの画面上の高さ:"27.75"、Excelファイル内の高さ:"20.85")。