1. openpyxl 설치
pip install openpyxl
2. 통합문서 생성, 저장
from openpyxl import Workbook #openpyxl 모듈의 Workbook 함수 사용 가능하도록 하는 구문
wb = Workbook() #Workbook 생성, 통합문서 생성이라고 생각하면 됨 -> wb 변수에 할당
ws = wb.active #Workbook 생성 시 최소 한개의 시트가 만들어짐, 활성화된 sheet 가져옴 -> wb 변수의 활성화된 sheet를 ws 에 할당
ws.title = '첫번째 시트' # 활성화된 sheet 인 ws 의 이름을 변경, 결과적으로 sheet 이름이 변경됨
wb.save("create_excel_test.xlsx") # wb 통합문서를 저장하는 명령어, 파일이름 지정 가능
- 결과
3. 여러 시트 생성
ws2 = wb.create_sheet("두번째 시트") # wb 통합문서에 "두번째 시트" 라는 이름을 가진 sheet 추가
- 결과
ws3 = wb.create_sheet("세번째 시트", 0) # wb 통합문서에 "세번째 시트" 라는 이름을 가진 sheet 추가, 제일 처음 위치로 이동
- 결과
ws4 = wb.create_sheet("네번째 시트", -1) # wb 통합문서에 "네번째 시트" 라는 이름을 가진 sheet 추가, 마지막 순서에서 -1 위치
- 결과
##전체 코드
from openpyxl import Workbook #openpyxl 모듈의 Workbook 함수 사용 가능하도록 하는 구문
wb = Workbook() #Workbook 생성, 통합문서 생성이라고 생각하면 됨 -> wb 변수에 할당
ws = wb.active #Workbook 생성 시 최소 한개의 시트가 만들어짐, 활성화된 sheet 가져옴 -> wb 변수의 활성화된 sheet를 ws 에 할당
ws.title = '첫번째 시트' # 활성화된 sheet 인 ws 의 이름을 변경, 결과적으로 sheet 이름이 변경됨
ws2 = wb.create_sheet("두번째 시트") # wb 통합문서에 "두번째 시트" 라는 이름을 가진 sheet 추가
ws3 = wb.create_sheet("세번째 시트", 0) # wb 통합문서에 "세번째 시트" 라는 이름을 가진 sheet 추가, 제일 처음 위치로 이동
ws4 = wb.create_sheet("네번째 시트", -1) # wb 통합문서에 "네번째 시트" 라는 이름을 가진 sheet 추가, 마지막 순서에서 -1 위치
wb.save("create_excel_test.xlsx") # wb 통합문서를 저장하는 명령어, 파일이름 지정 가능
##중간에 "Permission denied" 관련 명령 발생 시 엑셀 파일 열려 있는지 확인, 닫고 파이썬 실행 시킬 것
4. 시트 탭 컬러 변경
ws.sheet_properties.tabColor = "00FFFF" # 시트 탭 색깔 변경, 원하는 색상의 RGB 코드 값 넣어줘야 함
ws2.sheet_properties.tabColor = "FF7F50" # 시트 탭 색깔 변경, 원하는 색상의 RGB 코드 값 넣어줘야 함
ws4.sheet_properties.tabColor = "006400" # 시트 탭 색깔 변경, 원하는 색상의 RGB 코드 값 넣어줘야 함
- 결과
5. 시트 변수 추가
ws5 = wb["네번째 시트"]
ws5.title = "네번째 시트였는데.."
ws5.sheet_properties.tabColor = "FF7F50" # 두번째 시트랑 탭 색깔 같아질거임
- 결과
# ws4 로 다시 수정할 수 있음
ws5 = wb["네번째 시트"]
ws5.title = "네번째 시트였는데.."
ws5.sheet_properties.tabColor = "FF7F50" # 두번째 시트랑 탭 색깔 같아질거임
ws4.sheet_properties.tabColor = "006400" # ws4, ws5 둘다 수정 가능
- 결과
6. 생성된 시트 확인
for sheet in wb:
print(sheet.title)
- 결과
세번째 시트
첫번째 시트
네번째 시트였는데..
두번째 시트
7. 시트 복사
src = wb.active # 현재 활성화된 sheet를 src에 할당, 제일 처음에 있는 sheet 니까 "세번째 시트"
target = wb.copy_worksheet(src) # 활성화된 sheet 를 복사
- 결과
728x90
반응형
'프로그래밍 > Python' 카테고리의 다른 글
Python_openpyxl_엑셀_03_데이터 응용 (0) | 2021.02.01 |
---|---|
Python_openpyxl_엑셀_02_셀 관련 (0) | 2021.01.30 |
Python_05_for문 (0) | 2021.01.25 |
Python_04_if문 (0) | 2021.01.25 |
Python_03_리스트 (0) | 2021.01.24 |
댓글