この記事でわかること
- openpyxlでExcelに罫線を引く方法がわかる!
- openpyxlで罫線のデザインを設定方法がわかる!
- openpyxlである範囲に指定した罫線を引く方法がわかる!
- 実際に動くサンプルコードが手に入る!
ゆーや
openpyxlというモジュールを使っていくよ!
インストールなどは以下の記事を見てね!
罫線を操作するためのモジュール
罫線を操作するには「Border」と「Side」だけ理解すれば大丈夫です!
Borderモジュール
openpyxlで罫線を引くためには、Borderクラスを使用します!
Borderクラスは、セルの上下左右に罫線を設定するためのクラスです!
以下のように書きます!
Border(left={セルの左側の罫線の設定}, right={右側}, top={上側},bottom={下側})
ゆーや
{罫線の設定}には次のSideを使っていくよ!
Sideモジュール
Sideクラスは、罫線のスタイルや色を定義するために使用されます!
Sideクラスの主なパラメータには以下があります!
Side(style={罫線のstyle}, color={罫線の色})
ゆーや
では、実際に動くサンプルコードを見ていくよ!
実際に罫線を操作する(サンプルコード)
罫線を引く
import openpyxl
from openpyxl.styles import Border, Side
# 新しいExcelワークブックを作成
wb = openpyxl.Workbook()
ws = wb.active
# セルA1に値を設定
ws['B2'] = '罫線'
# 罫線のスタイルを定義
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
# セルB2に罫線を適用
ws['B2'].border = thin_border
# Excelファイルを保存
wb.save('sample.xlsx')
ゆーや
BorderとSideで作った罫線の設定をws[‘B2’].borderに設定するだけ!
「thin」は細い線の事だよ!
罫線のスタイルの種類
import openpyxl
from openpyxl.styles import Border, Side
# 新しいExcelワークブックを作成
wb = openpyxl.Workbook()
ws = wb.active
# セルに適用する罫線スタイルのリスト
styles = ['dashDot', 'dashDotDot', 'dashed', 'dotted', 'double', 'hair', 'medium',
'mediumDashDot', 'mediumDashDotDot', 'mediumDashed', 'none', 'slantDashDot', 'thick', 'thin']
# セルA1から順番に異なる罫線スタイルを適用
for i, style in enumerate(styles, start=1):
cell = ws.cell(row=i, column=1, value=style)
cell.border = Border(left=Side(style=style),
right=Side(style=style),
top=Side(style=style),
bottom=Side(style=style))
# Excelファイルを保存
wb.save('sample.xlsx')
ゆーや
全部で14種類あるみたい!
よく使うものは覚えておこう!
罫線の色の設定
import openpyxl
from openpyxl.styles import Border, Side
# 新しいExcelワークブックを作成
wb = openpyxl.Workbook()
ws = wb.active
# セルC3に値を設定
ws['C3'] = '罫線'
# 罫線の色を定義
colored_border = Border(left=Side(style='thick', color='FF0000'),
right=Side(style='thick', color='00FF00'),
top=Side(style='thick', color='0000FF'),
bottom=Side(style='thick', color='FFFF00'))
# セルC3に罫線を適用
ws['C3'].border = colored_border
# Excelファイルを保存
wb.save('sample.xlsx')
ゆーや
色の指定はcolorにカラーコードを入れればOK!
他にも「red」などでも指定可能!
部分的に罫線を引く
import openpyxl
from openpyxl.styles import Border, Side
# 新しいExcelワークブックを作成
wb = openpyxl.Workbook()
ws = wb.active
# セルA1に値を設定
ws['B2'] = '罫線'
# 罫線のスタイルを定義
thin_border = Border(left=Side(style='thick'))
# セルB2に罫線を適用
ws['B2'].border = thin_border
# Excelファイルを保存
wb.save('sample.xlsx')
ゆーや
部分的に引きたいときは、
Borderの引数を指定しなければOKだよ!
罫線の消し方
import openpyxl
from openpyxl.styles import Border, Side
# 新しいExcelワークブックを作成
wb = openpyxl.Workbook()
ws = wb.active
# セルC3に値を設定
ws['C3'] = '罫線'
# 罫線の色を定義
colored_border = Border(left=Side(style='thick', color='FF0000'),
right=Side(style='thick', color='00FF00'),
top=Side(style='thick', color='0000FF'),
bottom=Side(style='thick', color='FFFF00'))
# セルC3に罫線を適用
ws['C3'].border = colored_border
# 罫線を削除
none_border = Border(left=None, right=None, top=None, bottom=None)
ws['C3'].border = none_border
# Excelファイルを保存
wb.save('sample.xlsx')
ゆーや
Borderの各値に「None」を設定したものを罫線を消したいセルにセットしましょう!
そうすると、消すことが可能です!
コメント