前回は、PythonのOpenPyXLを使って罫線を引く方法を取り上げた。これを応用すれば表を作ることができる。そこ今回は、罫線を引いて表を作成する方法を取り上げる。Pythonを使ってMicrosoft Excelの表を作る基本的な方法なので習得してしまおう。

連載「PythonでExcel作業の効率化を図ろう」のこれまでの回はこちらを参照

ベーシックな表を作る

次のPythonスクリプト「openpyxl_sample_cell_4.py」によって、最もシンプルな表を作成できる。

openpyxl_sample_cell_4.py

import openpyxl
from openpyxl.styles import Font
from openpyxl.styles import Border, Side

#=========================================================================
# 保存するファイルのパス
#=========================================================================
output_xlsx_file_path = 'サンプルファイル.xlsx'

#=========================================================================
# Microsoft Exce データの生成とワークシートの取得
#=========================================================================
# 新規ワークブックの作成
wb = openpyxl.Workbook()

# アクティブワークシートの取得
ws = wb.active

#=========================================================================
# 罫線の定義
#=========================================================================

# 細罫線
thin_border = Border(
    left=Side(style='thin'), 
    right=Side(style='thin'), 
    top=Side(style='thin'), 
    bottom=Side(style='thin')
)

#=========================================================================
# セルのサイズを設定
#=========================================================================
# セル幅を設定
ws.column_dimensions['A'].width = 8                 # A列幅[文字数]
ws.column_dimensions['B'].width = 35                # B列幅[文字数]
ws.column_dimensions['C'].width = 35                # C列幅[文字数]
ws.column_dimensions['D'].width = 35                # D列幅[文字数]
ws.column_dimensions['E'].width = 35                # E列幅[文字数]
ws.column_dimensions['F'].width = 35                # F列幅[文字数]
ws.column_dimensions['G'].width = 35                # G列幅[文字数]
ws.column_dimensions['H'].width = 35                # H列幅[文字数]
ws.column_dimensions['I'].width = 35                # I列幅[文字数]
ws.column_dimensions['J'].width = 35                # J列幅[文字数]
ws.column_dimensions['K'].width = 35                # K列幅[文字数]

# セル高さを設定
ws.row_dimensions[1].height = 30                    # 1目行高さ[ポイント]
ws.row_dimensions[2].height = 60                    # 2目行高さ[ポイント]
ws.row_dimensions[3].height = 60                    # 3目行高さ[ポイント]
ws.row_dimensions[4].height = 60                    # 4目行高さ[ポイント]
ws.row_dimensions[5].height = 60                    # 5目行高さ[ポイント]
ws.row_dimensions[6].height = 60                    # 6目行高さ[ポイント]
ws.row_dimensions[7].height = 60                    # 7目行高さ[ポイント]
ws.row_dimensions[8].height = 60                    # 8目行高さ[ポイント]

#=========================================================================
# 罫線を設定
#=========================================================================
ws['B2'].border = thin_border                       # 細罫線
ws['C2'].border = thin_border                       # 細罫線
ws['D2'].border = thin_border                       # 細罫線
ws['E2'].border = thin_border                       # 細罫線

ws['B3'].border = thin_border                       # 細罫線
ws['C3'].border = thin_border                       # 細罫線
ws['D3'].border = thin_border                       # 細罫線
ws['E3'].border = thin_border                       # 細罫線

ws['B4'].border = thin_border                       # 細罫線
ws['C4'].border = thin_border                       # 細罫線
ws['D4'].border = thin_border                       # 細罫線
ws['E4'].border = thin_border                       # 細罫線

ws['B5'].border = thin_border                       # 細罫線
ws['C5'].border = thin_border                       # 細罫線
ws['D5'].border = thin_border                       # 細罫線
ws['E5'].border = thin_border                       # 細罫線

ws['B6'].border = thin_border                       # 細罫線
ws['C6'].border = thin_border                       # 細罫線
ws['D6'].border = thin_border                       # 細罫線
ws['E6'].border = thin_border                       # 細罫線

#=========================================================================
# 罫線の説明を入力
#=========================================================================

#=========================================================================
# 生成したMicrosoft Excelデータをファイルへ保存
#=========================================================================
wb.save(output_xlsx_file_path
  • openpyxl_sample_cell_4.pyの編集および実行のようす

    openpyxl_sample_cell_4.pyの編集および実行の様子

openpyxl_sample_cell_4.pyを実行すると、次のようなMicrosoft Excelファイルが生成される。

この記事は
Members+会員の方のみ御覧いただけます

ログイン/無料会員登録

会員サービスの詳細はこちら