エクスポートしたExcelファイルを印刷する際、レポートの用紙サイズが反映されません。

文書番号 : 27276     文書種別 : 使用方法     最終更新日 : 2009/08/03
文書を印刷する
対象製品
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)
 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")

◆サンプルコード(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");

PageSetup クラスの詳細につきましては、製品ヘルプのリファレンスをご参照ください。

クラス ライブラリリファレンス
 - ActiveReports.XlsExport アセンブリ
  - 名前空間
   - DataDynamics.SpreadBuilder.Printing 名前空間
    - クラス
     - PageSetup
関連情報
キーワード
問題 エクスポート 印刷・プレビュー

この文書は、以前は次のFAQ IDで公開されていました : 11953