카테고리 없음
openpyxl sheet
반응형
openpyxl import
가장 먼저 openpyxl을 import 해야 합니다.
import openpyxl
from openpyxl.styles.borders import Border, Side
declare workbook
작업할 Workbook instance를 선언합니다.
wb = openpyxl.Workbook()
create a new sheet
workbook 내에 sheet을 생성합니다.
wb.create_sheet('sheet 1', 0)
sheet에 cell들을 추가하기 위해서 객체를 얻어옵니다.
sheet = wb.get_sheet_by_name('sheet 1')
adding cells
use Border for each cell
각 cell에 적용할 border style을 정의합니다.
thin_border = Border(left=Side(style='thin'),
right=Side(style='thin'),
top=Side(style='thin'),
bottom=Side(style='thin'))
create cell
각 cell을 생성하고 값을 추가하면서 동시에 cell의 border style을 적용합니다.
cell 생성 시, row, column으로 해당 위치를 지정해야 합니다.
for y in range(10):
for x in range(10):
sheet.cell(row=y + 1, column=x + 1).value = str(y) + ':' + str(x)
sheet.cell(row=y + 1, column=x + 1).border = thin_border
applying column width
각각의 column의 width도 설정할 수 있으며, 다음과 같이 widths list에 각각의 width 값만 기입하여 설정 가능합니다.
widths = [10, 20, 10, 40, 80, 60, 50, 20, 20]
col_idx = ['A']
for i, width in enumerate(widths):
sheet.column_dimensions[''.join(col_idx)].width = width
if col_idx[-1] == 'Z':
col_idx += 'A',
else:
col_idx[-1] = chr(ord(col_idx[-1]) + 1)
반응형
댓글