pywin32 (win32com) 엑셀 명령어 정리

import win32com.client

excel = win32com.client.Dispatch("Excel.Application") # 엑셀실행
excel.Visible = True # (True/False) 엑셀이 화면에 보이게 하기
workbook = excel.Workbooks.Add() # 워크북 새로만들기
workbook = excel.Workbooks.Open("피벗테이블예제.xlsx") # 워크북 오픈
workbook = excel.Workbooks.Open(r"C:\2016-052.xlsx") # 워크북 오픈
worksheet = workbook.Worksheets("Sheet1") # 시트 지정
worksheet = workbook.ActiveSheet # 활성시트 지정

# worksheet를 추가
worksheet2 = workbook.Worksheets.Add()
worksheet2.Name = "파이썬"

# 모두 새로고침
workbook.RefreshAll() # 모두 새로고침 누름

# 셀 접근
worksheet.Range('A174').Value = 'hello!' # 셀주소 A174 에 'hello' 입력
worksheet.Range('A1:A10').Value = 'hello!' # 셀주소 A1~A10 범위내에 모두 'hello!' 입력
worksheet.Cells(1, 1).Value = "hello world" # (x,y) 좌표로 셀위치로 접근 / 값입력

#range로 다중범위 지정해서 값 넣기
worksheet.Range('A3:B4, A6:B7, D3:F7').Value = "Hi2" # 범위 여러개 지정 및 값 입력
worksheet.Range(worksheet.Cells(3,1), worksheet.Cells(3,3)).Value = "Hi2"

worksheet.Range("B1").Interior.ColorIndex = 27 # 셀 컬러 지정 # 색상표 참조

# cell의 폭 조정
worksheet.Columns(1).ColumnWidth = 10
worksheet.Range("B:F").ColumnWidth = 20

# cell의 높이 조정
worksheet.Rows(1).RowHeight = 40
worksheet.Range("2:100").RowHeight = 60

# 데이터 변수
data = worksheet.Cells(2, 1).Value
print(worksheet.Cells(1, 1).Value)

# 범위 지정 복사/붙여넣기
worksheet.Range("A1:D24").Copy(worksheet2.Range("A1:D24")) # worksheet의 A1:D24의 내용을 -> worksheet2 로 카피 # 앞에 워크시트가 from 뒤가 to
worksheet.Range("A1:D24").Copy(worksheet2.Range("D1")) # worksheet의 A1:D24의 내용을 -> worksheet2 D1 로 카피

# 셀 내용 글씨체 / 사이즈 / 스타일등
worksheet.cells(1,1).Font.name = "맑은 고딕" # worksheet.cells 에서 cells 의 c 가 대소문자 구문 안해도 무방
worksheet.cells(1,1).Font.Size = 14 # 글씨크기
worksheet.cells(1,3).Font.Bold = True # 굵게
worksheet.cells(1,3).Font.italic = True # 글씨 기울기
worksheet.cells(1,3).Font.Underline = True #밑줄
worksheet.Range("A1").font.ColorIndex = 40 # 글씨 색상

# 셀 테두리
worksheet.Range("B2").BorderAround(ColorIndex = 16,Weight = 3,LineStyle = 1) # 셀 하나
worksheet.Range("B2:C8").BorderAround(ColorIndex = 16,Weight = 3,LineStyle = 1)

#셀 안쪽까지 모두 테두리 지정하려면
rng = worksheet.Range("B2:C8") #범위 설정
rng.Borders.LineStyle = 1 #선 스타일
rng.Borders.ColorIndex = 14 #선 색상
rng.Borders.Weight = 2 #선 굵기

# 셀에 맞춤 (셀서식 - 맞춤 - 셀에맞춤)
worksheet2.Range("D3").ShrinkToFit = True

# 서식 지우기
worksheet.Range("B2:C8").ClearFormats()

# 정렬
# 연습용 작성
worksheet.cells(2,1).Value = '위로정렬'
worksheet.cells(1,2).Value = '왼쪽정렬'
worksheet.cells(2,2).Value = '가운데정렬'
worksheet.cells(2,3).Value = '우측정렬'
worksheet.cells(3,2).Value = '아래로정렬'

# cell의 폭 조정
worksheet.Range("A:C").ColumnWidth = 40
# cell의 높이 조정
worksheet.Range("1:3").RowHeight = 60

#B1
worksheet.Range("B1").VerticalAlignment = -4160  #위로 정렬
worksheet.Range("B1").HorizontalAlignment = -4108  #가운데 정렬(수평)

#B3
worksheet.Range("B3").VerticalAlignment = -4107  #아래로 정렬
worksheet.Range("B3").HorizontalAlignment = -4108  #가운데 정렬(수평)

#A2
worksheet.Range("A2").HorizontalAlignment = -4131  #왼쪽으로 정렬
worksheet.Range("A2").VerticalAlignment = -4108  #가운데 정렬(수직)

#C2
worksheet.Range("C2").HorizontalAlignment = -4152  #오른쪽으로 정렬
worksheet.Range("C2").VerticalAlignment = -4108  #가운데 정렬(수직)

#B2
worksheet.Range("B2").VerticalAlignment = -4108  #가운데 정렬(수직)
worksheet.Range("B2").HorizontalAlignment = -4108  #가운데 정렬(수평)


# 시트의 row, column count
worksheet.UsedRange.Columns.Count
worksheet.UsedRange.Rows.Count

# 행/열 추가
worksheet.Rows(8).EntireRow.Insert()
worksheet.Columns(8).EntireColumn.Insert()
worksheet.Range("C2:D3").Insert()      # 아래로
worksheet.Range("C2:D3").Insert(1)     # 오른쪽으로
worksheet.Rows(2).Insert()             # 행 전체 삽입
worksheet.Columns("B").Insert(1)           # 열 전체 삽입

# 행/열 삭제
worksheet.Rows(8).EntireRow.Delete()
worksheet.Columns(8).EntireColumn.Delete()

# 자동 행렬 너비 높이 맞춤
worksheet.Columns.AutoFit() # 셀 자동 열너비 맞춤
worksheet.Rows.AutoFit() # 셀 자동 행높이 맞춤

# 서식 클리어
worksheet.Range(f"A1:A10").ClearFormats() # 서식 클리어


workbook.Save() # 저장
workbook.SaveAs('c:\\Users\\Jason\\Desktop\\test.xlsx') # 다른이름으로 저장 
excel.Quit() # 엑셀 종료

3 thoughts on “pywin32 (win32com) 엑셀 명령어 정리”

  1. Boss778 Philippines: Top Slot Games, Secure Login, & Easy Register. Download the App and Access Link Alternatif for the Best Online Casino Experience. Experience the ultimate online casino at Boss778 Philippines. Enjoy top boss778 slot games, secure boss778 login, and easy boss778 register. Access the boss778 download app and link alternatif now! visit: boss778

    응답

Leave a Comment