들어가기 전에
Python을 사용하면 Excel에서 머리글과 바닥글을 삽입하고 사용자 지정할 수 있습니다. 파이썬을 사용하여 엑셀의 기본 머리글과 바닥글 삽입, 머리글과 바닥글에 이미지 추가, 홀수 및 짝수 페이지에 대해 다른 머리글과 바닥글 만들기, 첫 번째 페이지에 대해 고유한 머리글과 바닥글을 정의하는 방법에 대해 소개합니다.
권현욱(엑셀러) | 아이엑셀러 닷컴 대표 · Microsoft MVP · 엑셀 솔루션 프로바이더 · 작가

이 글은 아래 기사 내용을 토대로 작성되었습니다만, 필자의 개인 의견이나 추가 자료들이 다수 포함되어 있습니다.
- 원문: Insert And Customize Headers and Footers in Excel with Python
- URL: https://medium.com/@alice.yang_10652/insert-headers-and-footers-in-excel-with-python-254b3381a517
개요
Excel의 머리글과 바닥글은 워크시트의 인쇄된 각 페이지에 표시될 콘텐츠를 배치할 수 있는 영역입니다. 이 콘텐츠는 일반 Excel 작업 보기에서는 표시되지 않고 페이지 레이아웃 보기에 있거나 문서를 인쇄할 때만 표시됩니다. 인쇄된 보고서를 더욱 유익하고 전문적으로 만들 수 있도록 설계되었습니다.
- 머리글: 인쇄된 각 페이지의 상단에 표시되는 텍스트 또는 이미지입니다. 일반적인 머리글 요소에는 문서 제목, 회사 이름 또는 날짜가 포함됩니다.
- 바닥글: 인쇄된 각 페이지의 하단에 표시되는 텍스트 또는 이미지입니다. 일반적인 바닥글 요소에는 페이지 번호, 파일 경로 또는 작성자 이름이 포함됩니다.
이러한 요소를 사용하면 필수 정보를 추가하여 인쇄된 문서를 더욱 풍부하게 만들 수 있으며, 콘텐츠가 잘 정리되고 이해하기 쉽도록 할 수 있습니다.
Excel 머리글과 바닥글을 삽입하는 라이브러리
Python에서 Excel에 머리글과 바닥글을 삽입하기 위해 Python용 Spire.XLS라는 타사 라이브러리를 사용합니다. 파이썬용 Spire.XLS는 파이썬 애플리케이션 내에서 Excel 파일을 생성, 읽기, 편집 및 변환하기 위한 Excel 라이브러리입니다.
이 라이브러리는 XLS, XLSX, XLSB, XLSM, ODS 등을 포함한 다양한 스프레드시트 형식과 호환됩니다. 또한 Excel 파일을 PDF, HTML, CSV, 텍스트, 이미지, XML, SVG, ODS, PostScript 및 XPS와 같은 다른 파일 형식으로 변환하는 기능도 제공합니다.
PyPI에서 터미널 창에서 다음 명령을 실행하여 Python용 Spire.XLS를 설치할 수 있습니다.
pip install Spire.Xls
설치에 대한 자세한 내용은 [여기]를 참고하세요.
파이썬에서 Excel의 머리글 및 바닥글 삽입
Excel에서 머리글과 바닥글은 일반적으로 왼쪽, 가운데, 오른쪽의 세 부분으로 나뉩니다. Python용 Spire.XLS에서 이러한 header 및 footer 섹션은 PageSetup 클래스 내의 특정 속성으로 표현됩니다. 이러한 속성에는 다음이 포함됩니다.
- LeftHeader
- CenterHeader
- RightHeader
- LeftFooter
- CenterFooter
- RightFooter
이러한 속성을 사용하면 헤더와 푸터의 특정 섹션에 쉽게 콘텐츠를 추가할 수 있습니다. 또한 Spire.XLS를 사용하면 헤더와 푸터 속성의 일부로 특수 코드를 삽입하여 헤더와 푸터의 모양과 콘텐츠를 사용자 지정할 수 있습니다.
- &P : 현재 페이지 번호 삽입
- &N : 전체 페이지 수 삽입
- &G : 이미지 삽입
- &D : 현재 날짜 삽입
- &T : 현재 시간 삽입
- &”fontname” : 다음 텍스트에 대한 사용자 정의 글꼴 지정
- &nn : 다음 텍스트의 글꼴 크기(두 자리 숫자) 지정
- 그리고 훨씬 더 많습니다.
다음 단계에서는 Python용 Spire.XLS를 사용하여 Python의 Excel 워크시트에 머리글과 바닥글을 삽입하는 방법을 설명합니다.
- Excel 파일 열기: Workbook 클래스의 인스턴스를 초기화 하고 Workbook.LoadFromFile() 메서드를 사용하여 기존 Excel 파일을 로드합니다.
- 워크시트 선택: 머리글과 바닥글을 삽입할 특정 워크시트를 선택합니다.
- 머리글과 바닥글에 내용 추가: Worksheet.PageSetup.LeftHeader 속성을 사용하여 머리글의 왼쪽 구역에 대한 내용을 설정합니다. - Worksheet.PageSetup.CenterFooter 속성을 사용하여 바닥글의 가운데 구역에 대한 내용을 설정합니다.
- 보기 모드 변경: 머리글과 바닥글을 미리 보려면 페이지 레이아웃 보기 로 전환하세요.
- 파일 저장: Workbook.SaveToFile() 메서드를 사용하여 수정된 Excel 파일을 저장합니다.
다음 코드는 Python에서 Excel 워크시트에 텍스트 내용이 포함된 머리글과 바닥글을 삽입하는 방법을 보여줍니다.
from spire.xls import *
# Open an Excel workbook
workbook = Workbook()
workbook.LoadFromFile("Sales.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Add text to the left section of the header.
sheet.PageSetup.LeftHeader = "&\"Arial\"&14&K808080 ABC Corporation"
# Add page number and total number of pages to the center section of the footer.
sheet.PageSetup.CenterFooter = "&K808080 Page &P of &N"
# Change the view mode of the worksheet to the page layout view
sheet.ViewMode = ViewMode.Layout
# Save the modified file
workbook.SaveToFile("InsertHeaderAndFooter.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
코드 설명:
- &”Arial”&14: 글꼴을 Arial로, 글꼴 크기를 14로 설정
- &K808080: RGB 16진수 색상 코드 808080을 사용하여 색상을 회색으로 설정
- ABC Corporation : 헤더에 표시되는 실제 텍스트
- &P/ & N 페이지 : "X/Y 페이지"라는 텍스트를 표시. 여기서 X는 현재 페이지 번호이고 Y는 총 페이지 수
회색이 원하는 색상이 아니라면 RGB 색상 코드(808080)를 원하는 색상과 일치하도록 조정해야 합니다. 예를 들어, FF0000은 빨간색, 00FF00은 초록색, 0000FF는 파란색입니다.

파이썬에서 Excel의 머리글과 바닥글에 이미지 추가
Excel의 머리글과 바닥글에는 텍스트 외에 이미지를 추가할 수도 있습니다. 이는 문서에 로고, 워터마크 또는 기타 그래픽 요소를 포함하는 데 유용합니다.
위 항목에서 보여준 것처럼 머리글이나 바닥글 속성에 “ &G ” 코드를 포함시키면 Excel 워크시트의 머리글이나 바닥글에 이미지를 삽입할 수 있습니다.
다음 코드는 Python에서 Excel 워크시트의 머리글과 바닥글에 이미지를 삽입하는 방법을 보여줍니다.
from spire.xls import *
from spire.xls.common import *
# Open an Excel workbook
workbook = Workbook()
workbook.LoadFromFile("Sales.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Load an image
image = Stream("img.png")
# Add the image to the left section of the header
sheet.PageSetup.LeftHeaderImage = image
sheet.PageSetup.LeftHeader = "&G"
# Add the image to the center section of the footer
sheet.PageSetup.CenterFooterImage = image
sheet.PageSetup.CenterFooter = "&G"
# Change the view mode of the worksheet to the page layout view
sheet.ViewMode = ViewMode.Layout
# Save the modified file
workbook.SaveToFile("InsertImageInHeaderAndFooter.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

파이썬에서 Excel의 홀수/짝수 페이지에 서로 다른 머리글/바닥글 삽입
여러 페이지 문서를 인쇄할 때 홀수 페이지와 짝수 페이지에 다른 머리글이나 바닥글을 사용하고 싶을 수 있습니다. 이는 인쇄된 보고서와 책에서 흔히 볼 수 있는 기능입니다.
Spire.XLS에서 DifferentOddEven 속성은 홀수 및 짝수 페이지에 대해 다른 머리글과 바닥글을 활성화합니다. OddHeaderString 및 EvenHeaderString 속성은 각각 홀수 및 짝수 페이지에 대한 사용자 지정 머리글을 설정합니다. 마찬가지로 OddFooterString 및 EvenFooterString 속성은 홀수 및 짝수 페이지에 대한 사용자 지정 바닥글을 설정합니다.
다음 코드는 Python에서 Excel 파일에 홀수 및 짝수 페이지에 대해 서로 다른 머리글과 바닥글을 삽입하는 방법을 보여줍니다.
from spire.xls import *
# Open an Excel workbook
workbook = Workbook()
workbook.LoadFromFile("Sales.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Set the different header footer for Odd and Even pages
sheet.PageSetup.DifferentOddEven = 1
sheet.PageSetup.OddHeaderString = "&\"Arial\"&14&B&KFF0000 Odd_Header"
sheet.PageSetup.OddFooterString = "&\"Arial\"&14&B&KFF0000 Odd_Footer"
sheet.PageSetup.EvenHeaderString = "&\"Arial\"&14&B&K00FF00 Even_Header"
sheet.PageSetup.EvenFooterString = "&\"Arial\"&14&B&K00FF00 Even_Footer"
# Change the view mode of the worksheet to the page layout view
sheet.ViewMode = ViewMode.Layout
# Save the modified file
workbook.SaveToFile("DifferentHeaderAndFooterForOddAndEvenPage.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

파이썬에서 Excel의 첫 페이지에 다른 머리글과 바닥글 삽입
첫 페이지에 고유한 머리글이나 바닥글을 원하는 경우(예: 페이지 번호 없이 제목 페이지를 표시하려는 경우) DifferentFirst , FirstHeaderString 및 FirstFooterString 속성을 사용할 수 있습니다.
다음 코드는 Python에서 Excel 파일의 첫 페이지에 다른 머리글과 바닥글을 삽입하는 방법을 보여줍니다.
from spire.xls import *
# Open an Excel workbook
workbook = Workbook()
workbook.LoadFromFile("Sales.xlsx")
# Get the first worksheet
sheet = workbook.Worksheets[0]
# Add a different header and footer for the first page
sheet.PageSetup.DifferentFirst = 1
sheet.PageSetup.FirstHeaderString = "&\"Arial\"&14&KFF0000 First Page Header"
sheet.PageSetup.FirstFooterString = "&\"Arial\"&14&KFF0000 First Page Footer"
# Add a header and footer for the other pages
sheet.PageSetup.CenterHeader = "&\"Arial\"&14&K00FF00 Other Page Header"
sheet.PageSetup.CenterFooter = "&\"Arial\"&14&K00FF00 Other Page Footer"
# Change the view mode of the worksheet to the page layout view
sheet.ViewMode = ViewMode.Layout
# Save the modified file
workbook.SaveToFile("DifferentFirstPageHeaderAndFooter.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

마치며
Excel 파일에 머리글과 바닥글을 추가하고 사용자 지정하면 인쇄된 문서의 모양과 전문성을 크게 개선할 수 있습니다. Python과 Spire.XLS 라이브러리를 사용하면 머리글과 바닥글을 설정하는 각종 프로세스를 자동화할 수 있습니다. 물론 VBA를 사용해서 해결할 수도 있습니다.
'Python' 카테고리의 다른 글
파이썬을 사용하여 Excel에서 데이터 정렬하기 (6) | 2025.03.30 |
---|---|
Excel의 기능을 확장하는 5가지 파이썬 라이브러리 (3) | 2025.03.09 |
파이썬을 사용하여 Excel에서 테이블 생성/업데이트/제거하기 (3) | 2025.03.08 |
엑셀 데이터와 파이썬을 사용하여 프레젠테이션 자동화하기 (4) | 2025.01.25 |
Excel 파일과 워크시트 병합하기 ㅡ 파이썬 + 엑셀 파워 쿼리 (4) | 2025.01.11 |