エクスポートしたExcelファイルを印刷する際、レポートの用紙サイズが反映されません。
対象製品
ActiveReports for .NET 6.0J Professional
詳細
XlsExportクラスを使用してエクスポートしたExcelファイルの用紙サイズは、レポートに設定した用紙サイズではなく、A4以下のサイズのレポートはA4に、A4を越えるサイズのレポートはLetterサイズ(8.5×11インチ)に設定されます。それ以外のサイズには設定されません。
(ただし、用紙サイズがA4に設定されている場合でも、レポートの幅がA4に収まりきらないような場合には、Excel上の用紙サイズはLetterサイズに設定されます。)
レポートのサイズをあらかじめ調整するか、Excel上で手動にて用紙サイズを変更した上で、印刷してください。
なお、XlsExportクラスではなく、SpreadBuilder機能を使用してExcelエクスポートを行う場合には、DataDynamics.SpreadBuilder.Printing名前空間の PageSetup クラスの PaperSize や Orientation プロパティで、Excelファイルの用紙サイズや方向を、任意に指定することが可能です。
◆サンプルコード(VB.NET)
◆サンプルコード(C#)
PageSetup クラスの詳細につきましては、製品ヘルプのリファレンスをご参照ください。
クラス ライブラリリファレンス
- ActiveReports.XlsExport アセンブリ
- 名前空間
- DataDynamics.SpreadBuilder.Printing 名前空間
- クラス
- PageSetup
(ただし、用紙サイズがA4に設定されている場合でも、レポートの幅がA4に収まりきらないような場合には、Excel上の用紙サイズはLetterサイズに設定されます。)
レポートのサイズをあらかじめ調整するか、Excel上で手動にて用紙サイズを変更した上で、印刷してください。
なお、XlsExportクラスではなく、SpreadBuilder機能を使用してExcelエクスポートを行う場合には、DataDynamics.SpreadBuilder.Printing名前空間の PageSetup クラスの PaperSize や Orientation プロパティで、Excelファイルの用紙サイズや方向を、任意に指定することが可能です。
◆サンプルコード(VB.NET)
Dim sb As New DataDynamics.SpreadBuilder.Workbook
' 新規シートを追加します。
sb.Sheets.AddNew()
With sb.Sheets(0)
' 用紙サイズをA3横に設定します。
.PageSetup.PaperSize = System.Printing.PaperKind.A3
.PageSetup.Orientation = _
DataDynamics.SpreadBuilder.Printing.PagePrintOrientation.Landscape
' シートの余白を設定します。
' 各***Marginプロパティの単位は、Point(1/72インチ)です。
.PageSetup.LeftMargin = 36
.PageSetup.RightMargin = 36
.PageSetup.TopMargin = 36
.PageSetup.BottomMargin = 36
.PageSetup.HeaderMargin = 72
.PageSetup.FooterMargin = 72
.Columns(0).Width = 2 * 1440
.Cell(0, 0).SetValue("AAAA株式会社" & vbNewLine & "BBBB株式会社")
.Cell(0, 0).FontName = "MS ゴシック"
' 「折り返して全体を表示する」を指定します。
.Cell(0, 0).WrapText = True
End With
' ワークブックをExcelファイルへ保存します。
sb.Save("c:¥test.xls")
' 新規シートを追加します。
sb.Sheets.AddNew()
With sb.Sheets(0)
' 用紙サイズをA3横に設定します。
.PageSetup.PaperSize = System.Printing.PaperKind.A3
.PageSetup.Orientation = _
DataDynamics.SpreadBuilder.Printing.PagePrintOrientation.Landscape
' シートの余白を設定します。
' 各***Marginプロパティの単位は、Point(1/72インチ)です。
.PageSetup.LeftMargin = 36
.PageSetup.RightMargin = 36
.PageSetup.TopMargin = 36
.PageSetup.BottomMargin = 36
.PageSetup.HeaderMargin = 72
.PageSetup.FooterMargin = 72
.Columns(0).Width = 2 * 1440
.Cell(0, 0).SetValue("AAAA株式会社" & vbNewLine & "BBBB株式会社")
.Cell(0, 0).FontName = "MS ゴシック"
' 「折り返して全体を表示する」を指定します。
.Cell(0, 0).WrapText = True
End With
' ワークブックをExcelファイルへ保存します。
sb.Save("c:¥test.xls")
◆サンプルコード(C#)
DataDynamics.SpreadBuilder.Workbook sb = new DataDynamics.SpreadBuilder.Workbook();
// 新規シートを追加します。
sb.Sheets.AddNew();
// 用紙サイズをB4縦に設定します。
sb.Sheets[0].PageSetup.PaperSize = System.Drawing.Printing.PaperKind.B4;
sb.Sheets[0].PageSetup.Orientation
= DataDynamics.SpreadBuilder.Printing.PagePrintOrientation.Portrait;
// シートの余白を設定します。
// 各***Marginプロパティの単位は、Point(1/72インチ)です。
sb.Sheets[0].PageSetup.LeftMargin = 36;
sb.Sheets[0].PageSetup.RightMargin = 36;
sb.Sheets[0].PageSetup.TopMargin = 36;
sb.Sheets[0].PageSetup.BottomMargin = 36;
sb.Sheets[0].PageSetup.HeaderMargin = 72;
sb.Sheets[0].PageSetup.FooterMargin = 72;
sb.Sheets[0].Columns(0).Width = 2 * 1440;
sb.Sheets[0].Cell(0, 0).SetValue("AAAA株式会社¥r¥nBBBB株式会社");
sb.Sheets[0].Cell(0, 0).FontName = "MS ゴシック";
// 「折り返して全体を表示する」を指定します。
sb.Sheets[0].Cell(0, 0).WrapText = true;
// ワークブックをExcelファイルへ出力します。
sb.Save(@"c:¥test.xls");
// 新規シートを追加します。
sb.Sheets.AddNew();
// 用紙サイズをB4縦に設定します。
sb.Sheets[0].PageSetup.PaperSize = System.Drawing.Printing.PaperKind.B4;
sb.Sheets[0].PageSetup.Orientation
= DataDynamics.SpreadBuilder.Printing.PagePrintOrientation.Portrait;
// シートの余白を設定します。
// 各***Marginプロパティの単位は、Point(1/72インチ)です。
sb.Sheets[0].PageSetup.LeftMargin = 36;
sb.Sheets[0].PageSetup.RightMargin = 36;
sb.Sheets[0].PageSetup.TopMargin = 36;
sb.Sheets[0].PageSetup.BottomMargin = 36;
sb.Sheets[0].PageSetup.HeaderMargin = 72;
sb.Sheets[0].PageSetup.FooterMargin = 72;
sb.Sheets[0].Columns(0).Width = 2 * 1440;
sb.Sheets[0].Cell(0, 0).SetValue("AAAA株式会社¥r¥nBBBB株式会社");
sb.Sheets[0].Cell(0, 0).FontName = "MS ゴシック";
// 「折り返して全体を表示する」を指定します。
sb.Sheets[0].Cell(0, 0).WrapText = true;
// ワークブックをExcelファイルへ出力します。
sb.Save(@"c:¥test.xls");
PageSetup クラスの詳細につきましては、製品ヘルプのリファレンスをご参照ください。
クラス ライブラリリファレンス
- ActiveReports.XlsExport アセンブリ
- 名前空間
- DataDynamics.SpreadBuilder.Printing 名前空間
- クラス
- PageSetup
関連情報
キーワード
問題 エクスポート 印刷・プレビュー
この文書は、以前は次のFAQ IDで公開されていました : 11953