0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PythonによるExcel印刷ページ設定 - ページ余白、サイズ、方向、印刷領域、拡大縮小

Posted at

Excelをデータ分析やレポート作成に使用する場合、ページ設定は最終的な出力をプロフェッショナルで美しいものにするための重要なステップです。合理的なページ設定は、印刷効果を最適化するだけでなく、データの可読性を高めることもできます。
この記事では、Pythonを使ってExcelのページ設定オプションを設定する方法を紹介します。

サードパーティのPythonライブラリ

Pythonを使用してExcelのページ設定機能を実装するには、まずSpire.XLS for Pythonをインストールする必要があります。このPythonライブラリは、このリンクから製品パッケージをダウンロードし、ローカルパスからインストールするか、以下のpipコマンドを使用して直接インストールすることができます:

pip install Spire.XLS

Excelのページ設定に使用されるプロパティ

Spire.XLS for Pythonライブラリは、Excelのページ設定を表す PageSetup クラスを提供しています。PageSetup クラスには、印刷前にExcelワークシートのページ設定オプションを設定するために使用される様々なプロパティが含まれています。次の表は、使用されるプロパティのいくつかを説明したものです:

プロパティ 対応するページ設定オプション
TopMargin, BottomMargin, LeftMargin, RightMargin, HeaderMarginInch, FooterMarginInch 上、下、左、右、ヘッダー、フッターのマージンをそれぞれ設定するために使用する
PaperSize 用紙サイズの設定に使用(A3/A4/レター/B4/B5などの一般的なサイズに対応)
Orientation ページの向き(縦/横)を設定します
PrintArea 印刷領域の指定に使用
Zoom 印刷スケーリングの設定に使用
FitToPagesTall, FitToPagesWide 特定のページ数に合わせて印刷物の幅と高さを縮小するために使用します

PythonでExcelのページマージンを設定する

上下左右の余白を調整することで、ページ上の表やテキストの位置をコントロールできます。以下はサンプルコードです:

from spire.xls import *
from spire.xls.common import *
 
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")
 
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
 
# PageSetupオブジェクトの取得
pageSetup = sheet.PageSetup
 
# ワークシートのページマージンを設定する(デフォルトの単位はインチ、1インチ=2.54cm)
pageSetup.TopMargin = 1
pageSetup.BottomMargin = 1
pageSetup.LeftMargin = 0.8
pageSetup.RightMargin = 0.8
pageSetup.HeaderMarginInch= 1
pageSetup.FooterMarginInch= 1
 
# Excelファイルを保存する
workbook.SaveToFile("ExcelPageMargin.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

ExcelPageMargin.png

PythonでExcelの用紙サイズと向きを設定する

適切な用紙サイズと向きを選択することで、印刷出力が特定のシーン要件を満たすようにすることができます。下記はサンプルコードです:

from spire.xls import *
from spire.xls.common import *
 
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")
 
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
 
# PageSetupオブジェクトの取得
pageSetup = sheet.PageSetup
 
# 用紙サイズをA4に設定する
pageSetup.PaperSize = PaperSizeType.PaperA4
 
# ページの向きを横向きに設定する
pageSetup.Orientation = PageOrientationType.Landscape
 
# Excelファイルを保存する
workbook.SaveToFile("ExcelPageSizeOrientation.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

ExcelPageSizeAndOrientation.png

PythonでExcelの印刷領域を設定する

Excelで印刷範囲を設定することで、ワークシートの特定の部分のみを印刷することができ、不必要な内容で用紙を無駄にすることを防ぎ、印刷効率を向上させることができます。下記はサンプルコードです:

from spire.xls import *
from spire.xls.common import *
 
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")
 
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
 
# PageSetupオブジェクトの取得
pageSetup = sheet.PageSetup
 
# ワークシートの印刷領域を「A1:F8」に設定する
pageSetup.PrintArea = "A1:F8"
 
# Excelファイルを保存する
workbook.SaveToFile("ExcelPrintArea.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

ExcelPrintArea.png

PythonでExcelの印刷拡大縮小を設定する

印刷倍率を設定することで、1ページにより多くの情報を明確に表示できるよう、印刷サイズを調整することができます。下記はサンプルコードです:

from spire.xls import *
from spire.xls.common import *
 
# Excelファイルを読み込む
workbook = Workbook()
workbook.LoadFromFile("sample.xlsx")
 
# 最初のワークシートを取得する
sheet = workbook.Worksheets[0]
 
# PageSetupオブジェクトの取得
pageSetup = sheet.PageSetup
 
# ワークシートのスケーリングを90%に設定する
pageSetup.Zoom = 90
 
# 印刷時にワークシートが1ページに収まるように、幅と高さを調整する#pageSetup.FitToPagesTall = 1
#pageSetup.FitToPagesWide = 1
 
# Excelファイルを保存する
workbook.SaveToFile("ExcelScaling.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

ExcelPrintScaling.png


PythonでExcelファイルを操作する他の例は、以下を参照してください:

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?