C#으로 Excel 파일을 PDF로 변환하는 방법

Pilalo Jovanitho·2026년 9월 4일

Excel 파일은 데이터 관리와 분석에 매우 유용하지만, 문서를 공유하거나 인쇄할 때는 파일 형식과 버전에 따라 레이아웃이 깨지거나 호환성 문제가 발생할 수 있습니다. PDF는 이러한 문제를 해결하는 표준 형식으로, 문서가 어떤 기기나 운영체제에서도 동일하게 표시되도록 보장합니다.

이 글에서는 .NET용 Excel 처리 라이브러리인 Spire.XLS for .NET을 사용하여 Excel 파일(.xls 또는 .xlsx)을 PDF로 변환하는 방법을 단계별로 소개합니다.

1. 필요한 라이브러리 설치

이 라이브러리는 Microsoft Excel이 설치되지 않은 환경에서도 동작하며, .NET Framework, .NET Core, .NET Standard, .NET 5.0 이상을 지원합니다.

NuGet 패키지 관리자를 통해 간단히 설치할 수 있습니다. Visual Studio에서 '도구' > 'NuGet 패키지 관리자' > '패키지 관리자 콘솔'을 열어 다음 명령을 실행합니다.

Install-Package Spire.XLS

이 명령어는 프로젝트에 Spire.XLS 라이브러리를 추가하고 필요한 모든 종속성을 자동으로 처리합니다.

2. 기본 변환 코드

Excel 파일을 PDF로 변환하는 기본적인 코드는 Workbook 객체를 사용하여 매우 간결하게 작성할 수 있습니다.

주요 단계:
1. Workbook 클래스의 인스턴스를 생성합니다.
2. LoadFromFile() 메서드를 사용하여 변환할 Excel 파일을 로드합니다.
3. SaveToFile() 메서드를 호출하여 파일을 PDF 형식으로 저장합니다.

예제 코드:

using Spire.Xls;

namespace ExcelToPdf
{
    internal class Program
    {
        static void Main(string[] args)
        {
            // Workbook 객체 생성
            Workbook workbook = new Workbook();

            // Excel 파일 로드
            workbook.LoadFromFile("input.xlsx");

            // PDF 파일로 저장
            workbook.SaveToFile("output.pdf", FileFormat.PDF);

            // 리소스 해제
            workbook.Dispose();
        }
    }
}

이 코드를 실행하면 input.xlsx 파일이 output.pdf 파일로 변환되어 저장됩니다.

3. 고급 변환 설정 및 옵션

기본 변환 외에도 이 라이브러리는 더 세밀한 제어를 위한 다양한 옵션을 제공합니다.

  • 특정 워크시트 또는 셀 범위 변환: Worksheet 객체의 SaveToPdf() 메서드를 사용하거나, PageSetup.PrintArea 속성을 설정하여 원하는 부분만 PDF로 내보낼 수 있습니다.
  • 페이지 설정: PageSetup 객체를 통해 페이지 방향, 여백, 용지 크기, 머리글/바닥글 등을 변환 전에 미리 정의할 수 있습니다.
  • 내용 맞춤: PageSetup의 Zoom, FitToPagesWide, FitToPagesTall 속성을 사용하여 출력되는 PDF 페이지에 워크시트 내용이 적절하게 맞도록 조정할 수 있습니다.
  • PDF/A 표준 준수: PdfConformanceLevel 속성을 설정하여 장기 보관이 필요한 문서를 PDF/A 형식으로 저장할 수 있습니다.
  • 보안 설정: 변환되는 PDF 파일에 암호를 추가하거나 인쇄, 복사 등의 권한을 제한할 수 있습니다.

4. 다른 라이브러리와의 비교

Excel을 PDF로 변환하는 기능은 여러 라이브러리에서 제공됩니다.

  • Aspose.Cells for .NET: Spire.XLS와 유사한 상용 라이브러리로, Workbook.Save() 메서드를 통해 간단하게 변환을 지원합니다.
  • Syncfusion Excel (XlsIO) for .NET: Syncfusion의 .NET Excel 라이브러리도 비슷한 방식으로 Excel을 PDF로 변환하는 기능을 제공합니다.
  • Apache POI (with iText): Java 기반의 대표적인 오픈소스 라이브러리이나, .NET 환경에서는 사용이 제한적입니다.

라이브러리 선택은 프로젝트의 예산, 필요한 기능의 범위, 라이선스 정책 및 개발 편의성을 종합적으로 고려하여 결정하는 것이 바람직합니다.

5. 자주 묻는 질문

Q: 변환 시 Excel 파일의 모든 서식이 유지되나요?

A: 네. 이 라이브러리는 원본 Excel 파일의 레이아웃, 셀 스타일, 차트, 이미지 및 수식을 최대한 유지하여 PDF로 변환합니다.

Q: 대용량 Excel 파일도 변환할 수 있나요?

A: 일반적인 크기의 파일은 문제없이 변환할 수 있습니다. 다만, 매우 큰 파일을 다룰 때는 메모리 사용량에 유의해야 하며, 작업 완료 후 workbook.Dispose()를 호출하여 리소스를 해제하는 것이 좋습니다.

Q: 라이선스는 어떻게 되나요?

A: Spire.XLS for .NET은 상용 제품입니다. 무료 버전(Free Spire.XLS for .NET)도 제공되지만, 변환 시 워터마크가 추가되거나 문서 수가 제한될 수 있습니다. 상업적 용도로 사용하려면 라이선스 구매가 필요합니다.

결론

이 글에서는 Spire.XLS for .NET 라이브러리를 사용하여 C# 코드로 Excel 파일을 PDF로 변환하는 기본적인 방법과 다양한 설정 옵션을 살펴보았습니다. 몇 줄의 코드만으로 빠르게 변환을 수행할 수 있으며, 필요에 따라 페이지 설정이나 보안 옵션을 추가할 수 있어 실무에서 유용하게 활용될 수 있습니다. 프로젝트의 요구사항과 환경에 맞춰 상용 라이브러리나 오픈소스 대안 중에서 적절한 도구를 선택하여 사용하시기 바랍니다.

0개의 댓글