openpyxl sheet

2021. 12. 10. 13:27Programming/Python

    목차
반응형

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)
반응형

'Programming > Python' 카테고리의 다른 글

Python access member as string  (0) 2021.12.10
Python access member with string  (0) 2021.12.10
openpyxl sheet  (0) 2021.12.10
[Python] dictionary 응용  (0) 2021.09.27
[Python] #2 변수와 입력 사용하기  (0) 2021.09.27