エクスポートしたExcelのシートを、別のExcelブックにコピーすると、セルや罫線の色が変わってしまう
対象製品
ActiveReports for .NET 9.0J
詳細
本現象は、Microsoft Excelと、ActiveReportsのExcelエクスポートの仕様により発生しています。
Excelにおけるセルや罫線などの色は、カラーパレットに登録されている、56種類のカラーインデックスにより設定されます。このカラーパレットのデータは、ワークシート単位ではなく、ワークブック単位で保存されています。
ActiveReportsのExcelエクスポート機能(描画拡張機能やSpreadBuilder機能を含む)は、デフォルトの設定では、コントロールに設定された色(.NET FrameworkのColor構造体)が反映されるよう、カラーパレットを任意の色に変更した上で、Excelファイルを出力しています。
そのため、Excelエクスポートで出力したExceファイルのワークシートを、別のワークブックへコピー(移動)した際には、そのワークブックのカラーパレットが適用され、セルや罫線の色が変化する場合があります。
本動作を回避するには、以下の2つの方法があります。
Excelにおけるセルや罫線などの色は、カラーパレットに登録されている、56種類のカラーインデックスにより設定されます。このカラーパレットのデータは、ワークシート単位ではなく、ワークブック単位で保存されています。
ActiveReportsのExcelエクスポート機能(描画拡張機能やSpreadBuilder機能を含む)は、デフォルトの設定では、コントロールに設定された色(.NET FrameworkのColor構造体)が反映されるよう、カラーパレットを任意の色に変更した上で、Excelファイルを出力しています。
そのため、Excelエクスポートで出力したExceファイルのワークシートを、別のワークブックへコピー(移動)した際には、そのワークブックのカラーパレットが適用され、セルや罫線の色が変化する場合があります。
本動作を回避するには、以下の2つの方法があります。
- Excelのデフォルトのカラーパレットを使用してエクスポートする
UseDefaultPaletteプロパティを"True"に設定して、Excelエクスポートを行ってください。
この場合、Excelのデフォルトのカラーパレット、またはコントロールのForeColorやBackColorプロパティなどに定義されているカスタムカラーの中から最も近い色を使用してエクスポートを行います。
このため、レポートの実際の色とは完全に一致しない色でエクスポートされる場合がございます。これはUseDefaultPaletteプロパティを"True"に設定した場合の仕様上の動作となります。
なお、UseDefaultPaletteプロパティは使用する機能によって、実装されているクラスが異なります。
機能 クラス エクスポートフィルタ GrapeCity.ActiveReports.Export.Excel.Section.XlsExport 描画拡張機能 GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings SpreadBuilder機能 GrapeCity.SpreadBuilder.Workbook
製品ヘルプの以下のトピックもあわせてご覧ください。
クラスライブラリリファレンス
- GrapeCity.ActiveReports.Export.Excel.v9 アセンブリ
- 名前空間
- GrapeCity.ActiveReports.Export.Excel.Page 名前空間
- クラス
- ExcelRenderingExtensionSettings
- プロパティ
- UseDefaultPalette プロパティ
- GrapeCity.ActiveReports.Export.Excel.Section 名前空間
- クラス
- XlsExport
- プロパティ
- UseDefaultPalette プロパティ
- GrapeCity.SpreadBuilder 名前空間
- クラス
- Workbook
- プロパティ
- UseDefaultPalette プロパティ - カラーパレットもコピーする
ワークブックのカラーパレットは、別のワークブックにコピーすることが可能です。
Excelエクスポートで出力したExceファイルのワークシートを別のワークブックにコピーする際に、カラーパレットもコピーすることで元のワークシートの色を維持したままコピーできます。
運用上の対処方法となりますが、マイクロソフト社のWebサイトで公開されている以下の同様の事例をご参照の上、ご検討ください。
Reporting Services からエクスポートされた Excel ワークシートをコピーすると、色が乱れる
ただし、カラーパレットをコピーした場合、コピー先ブックの別シートの表示色も変化する可能性がありますので、あらかじめご注意ください。
キーワード
問題 エクスポート