이전 포스팅에서는 암호화된 엑셀 파일을 불러오는 방법을 소개했습니다. 이번에는 반대로 엑셀을 암호화하여 저장하는 방법을 소개하겠습니다.
아래 정리된 코드는 다음과 같은 순서로 동작합니다.
- win32com.client를 이용해 Excel 애플리케이션 객체를 생성합니다.
- 엑셀파일을 엽니다.
- 엑셀파일이 아닌 DataFrame을 저장하는 경우 엑셀파일로 한번 저장한 뒤에 진행할 수 있습니다.
- 파일에 비밀번호를 설정합니다.
- 파일을 저장하고 닫습니다.
- Excel 애플리케이션을 종료합니다.
DataFrame을 암호화한 엑셀파일로 저장하고자 하는 경우, pandas를 사용해 엑셀파일로 저장한 후 불러와 다시 암호화해서 저장하는 방법을 사용할 수 있습니다.
import pandas as pd
import win32com.client as win32
# 파일 경로와 비밀번호
file_path = 'file_path.xlsx'
password = 'password'
# DataFrame 활용 시 : DataFrame을 엑셀 파일로 저장
dataframe.to_excel(file_path, index=False)
# Excel 애플리케이션 객체 생성
excel_app = win32.gencache.EnsureDispatch("Excel.Application")
excel_app.Visible = False
# 엑셀 파일 열기
workbook = excel_app.Workbooks.Open(file_path)
# 파일 잠금 처리
workbook.Password = password
# 파일 저장 및 닫기
workbook.SaveAs(file_path, Password=password)
workbook.Close()
# Excel 애플리케이션 종료
excel_app.Quit()
오늘도 읽어주셔서 감사합니다.