푸터 콘텐츠로 바로가기
엑셀 도구

Python에서 Excel 파일 쓰는 방법

엑셀 파일은 다양한 부문에서 데이터 분석, 보고 및 저장을 위해 필수적입니다. 개발자들은 Python의 광범위한 오픈 소스 모듈 생태계를 통해 프로그래밍 방식으로 엑셀 파일을 생성할 때 많은 대안을 가지고 있습니다. 이러한 라이브러리는 엑셀 문서에 대한 세밀한 제어뿐만 아니라 높은 수준의 추상화를 제공하며 광범위한 사용 사례와 선호도를 지원합니다.

이는 개발자가 엑셀 관련 프로세스를 쉽게 자동화하고, 동적 보고서를 작성하며, 데이터를 내보낼 수 있도록 해줍니다. C#에서 엑셀 파일을 생성할 때 IronXL이 Python 라이브러리의 강력한 대체물인 이유를 살펴보겠습니다.

IronXL의 기능, 사용성 및 성능상의 이점을 살펴보고 이를 강조하기 위한 유용한 코드 샘플을 제시하겠습니다. 또한, 다양한 오픈 소스 라이브러리를 사용하여 Python으로 엑셀 파일을 작성합니다.

Python에서 엑셀 파일 작성 방법

  1. 필수 라이브러리를 가져옵니다.
  2. 데이터를 준비하거나 제공하십시오.
  3. Workbook 또는 Data Frame이라는 개체를 만듭니다.
  4. 개체 안에 데이터를 넣습니다.
  5. 적절한 기술을 이용해 개체를 엑셀 파일로 저장합니다.
  6. 필요에 따라 추가 포맷팅이나 커스터마이징을 수행하십시오.

판다스

사용자 친화성과 다재다능함으로 유명한 Pandas는 강력한 Python 데이터 조작 패키지입니다. Pandás는 주로 DataFrame에 집중되어 있지만 엑셀 파일 작성 기능도 있습니다.

개발자들은 to_excel() API를 사용하여 DataFrame을 엑셀 형식으로 쉽게 내보낼 수 있습니다. DataFrame을 사용해 여러 시트로 내보낼 수도 있습니다.

ExcelWriter 객체 파일 경로가 출력 저장 위치입니다. Python의 표 데이터는 Pandas의 데이터 포맷팅, 인덱스 가시성 및 시트 이름 선택으로 엑셀 파일로 쉽게 변환됩니다.

Python에서 Excel 파일 저장하기: 그림 1

xlwt

이 라이브러리는 오래된 .xls 형식의 엑셀 파일에 데이터를 쓰고 정보 포맷을 추가할 수 있습니다. Xlwt는 액티브하게 개발되지는 않지만 이전 엑셀 버전 또는 레거시 시스템과의 호환성이 필요한 경우 여전히 사용할 수 있는 솔루션입니다.

개발자들은 xlwt의 특징을 사용하여 셀에 데이터를 입력하고, 워크시트를 추가하며, Workbook 객체를 구성할 수 있습니다. xlwt는 Python에서 엑셀 파일을 생성하는 기본 기능을 제공하지만 최신 도구에 비해 제한 사항이 있습니다.

Python에서 Excel 파일 저장하기: 그림 2

Tablib

이 유연한 라이브러리는 엑셀을 포함한 다양한 형식의 표 데이터를 처리할 수 있습니다. Tablib는 주로 데이터 처리와 직렬화에 집중되어 있지만 데이터를 엑셀 형식으로 내보내는 기능을 가지고 있습니다.

Tablib가 제공하는 방법을 통해 개발자들은 쉽게 Dataset 객체를 생성하고 데이터를 추가하여 엑셀 파일로 내보낼 수 있습니다. Tablib의 다재다능함과 사용자 친화성은 간단한 엑셀 파일 작성과 관련한 Python 작업에 적합합니다.

Python에서 Excel 파일 저장하기: 그림 3

ezodf

ezodf 라이브러리를 사용하면 스프레드시트와 기타 OpenDocument Format (ODF) 파일을 작업할 수 있습니다. 엑셀 파일을 염두에 두고 설계되지 않았지만 ezodf는 Python 사용자에게 스프레드시트 문서를 작성하고 작업할 수 있는 기능을 제공합니다.

개발자들은 ezodf의 기술을 사용하여 워크시트를 추가하고, 엑셀 시트의 셀에 데이터 프로그래밍을 통해 데이터를 기록하고 ODS (OpenDocument Spreadsheet) 파일을 생성할 수 있습니다. 비록 인기는 덜하지만, ezodf는 스프레드시트 문서를 다룰 때 엑셀 파일을 생성할 수 있는 옵션을 제공합니다.

Python에서 Excel 파일 저장하기: 그림 4

pyxlsb

pyxlsb라는 Python 패키지는 엑셀 이진 워크북(.xlsb) 파일을 읽고 쓸 수 있습니다. 이는 워크시트를 추가하고, 이진 엑셀 형식의 셀에 데이터를 기록하며, 워크북 객체를 생성하는 기능을 제공합니다.

.xlsb 파일 지원은 .xlsx 또는 .xls 파일만큼 널리 퍼지지는 않았지만, pyxlsb는 이진 엑셀 파일 조작을 위한 Python 기능을 제공하여 엑셀의 이진 형식이 호환성을 필요로 하는 특정 사용 사례를 충족합니다.

Python에서 Excel 파일 저장하기: 그림 5

IronXL

IronXL은 엑셀 파일을 조작하기 위한 기능이 풍부한 C# 라이브러리입니다. Iron Software에서 만든 IronXL은 엑셀 문서를 동적으로 생성, 형식 지정 및 채우기 위한 포괄적인 범위의 기능을 제공합니다. IronXL은 사용자 친화적인 API와 포괄적인 문서를 통해 C#에서 엑셀 상호작용을 간소화하여 개발자에게 엑셀 관련 작업에 대한 원활한 경험을 제공합니다.

IronXL의 기능

  • 광범위한 엑셀 지원: IronXL은 csv, file, xls 파일 및 xlsx 파일을 포함한 다양한 엑셀 형식으로 된 엑셀 파일을 열고 작업할 수 있습니다. IronXL의 강력한 파싱 기능을 통해 개발자들이 기존 엑셀 파일에서 데이터를 오래된 엑셀 파일과 현대 엑셀 파일을 모두 사용하여 효율적으로 추출할 수 있습니다.
  • 고속: IronXL은 속도 최적화를 최우선으로 둡니다. 신뢰할 수 있으며 빠른 엑셀 상호작용을 제공하기 위해 효과적인 알고리즘 및 메모리 관리 기술이 사용됩니다. IronXL은 최적화된 처리 속도와 감소된 메모리 오버헤드를 제공하므로, 개발자들은 대형 Excel 파일을 쉽게 처리할 수 있습니다.
  • 간단하고 사용하기 쉬운 API: IronXL은 직관적이며 사용자 친화적인 API 덕분에 다양한 경험 수준의 개발자들에게 적합합니다. Excel 파일을 읽고, Excel 워크북에 접근하며, 셀에서 데이터를 얻는 간단한 방법을 제공하여, IronXL은 C# 개발자들의 학습 곡선을 낮추고 기존 파일의 작성 및 읽기 프로세스를 간소화합니다.
  • 세밀한 제어: 다른 고수준 라이브러리와 달리, IronXL은 개발자에게 Excel 문서에 대한 세밀한 제어를 제공하여 Excel 스프레드시트를 셀 수준까지 상호작용할 수 있도록 합니다. 개발자들이 특정 셀, 행, 열, 스프레드시트에 접근할 수 있으므로, 그들의 필요에 맞게 데이터를 추출하고 변경할 수 있습니다.
  • 크로스 플랫폼 호환성: IronXL은 Windows, Linux, macOS를 포함한 다양한 운영 체제와 함께 작동하여 크로스 플랫폼 C# 개발에 적합합니다. 데스크탑, 웹, 모바일 애플리케이션을 개발하든 상관없이, 개발자들은 여러 컨텍스트에서 일관된 Excel 상호작용을 제공하기 위해 IronXL을 신뢰할 수 있습니다.

IronXL 문서에 대해 더 알고 싶으면 여기를 참조하세요.

IronXL 설치

이 지침과 명령줄을 사용하여 IronXL을 설치하세요.

Visual Studio에서 도구 -> NuGet 패키지 관리 -> 패키지 관리자 인터페이스로 이동합니다.

패키지 관리자 콘솔 탭에 다음 코드를 입력하세요:

pip install IronXL

파일이 현재 프로젝트에 다운로드 및 설치된 후 사용할 수 있습니다.

Writing Excel Data Using IronXL in C#

이제 C#에서 Excel 문서에 데이터를 쓰기 위해 IronXL을 사용하는 방법을 보여주는 실제 코드 예제를 살펴보겠습니다. 새로운 Excel 작업 책을 열고, 워크시트를 채우고, 그런 다음 데이터를 파일에 저장하는 방법을 데모합니다:

using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
using IronXL; // Include IronXL namespace

class Program
{
    static void Main(string[] args)
    {
        // Create a new WorkBook object in .xlsx format
        WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new WorkSheet named "Sheet1" to the workbook
        WorkSheet workSheet = workBook.CreateWorkSheet("Sheet1");

        // Define sample data
        string[,] data = {
            { "Name", "Age", "City" },
            { "John ", "25", "New York" },
            { "Smith", "30", "Los Angeles" },
            { "Johnson", "35", "Chicago" }
        };

        // Populate the worksheet with data
        for (int row = 0; row < data.GetLength(0); row++)
        {
            for (int col = 0; col < data.GetLength(1); col++)
            {
                workSheet.SetCellValue(row, col, data[row, col]);
            }
        }

        // Save the workbook to a .xlsx file named "Demo.xlsx"
        workBook.SaveAs("Demo.xlsx");

        // Close the workbook to free resources
        workBook.Close();
    }
}
$vbLabelText   $csharpLabel

이 코드 샘플에서 우리는 IronXL의 Create() 기능을 사용해 새로운 WorkBook 객체를 생성하여 원하는 Excel 파일 유형(.xlsx)을 지정합니다. 다음으로 새로운 워크시트를 만들고 2차원 배열에서 일부 샘플 데이터를 정의합니다.

그런 다음 중첩된 루프를 사용하여 샘플 데이터를 가져와서 다양한 셀의 값을 설정하여 워크시트를 채웁니다.

마지막으로, 우리는 SaveAs() 기능을 사용하여 워크북을 대상 파일 이름 "Demo.xlsx"으로 저장하고 시스템 리소스를 해제하기 위해 워크북을 닫습니다. 유사하게, 우리는 대상 파일에 여러 시트를 생성할 수 있습니다.

아래는 출력으로 생성된 Excel 파일입니다. Excel 파일 작성에 대해 더 알고 싶다면 여기를 참조하십시오.

Python에서 Excel 파일 저장하기: 그림 6

결론

Python은 엑셀 파일을 프로그램적으로 작성하기 위한 광범위한 무료 오픈 소스 라이브러리 모음을 제공하여 다양한 요구와 취향을 충족시킵니다. 이러한 라이브러리는 표 형식의 데이터를 다루거나, 보고서를 작성하거나, 데이터를 Excel로 내보내든 관계없이 엑셀 작성 작업을 신속하고 효율적으로 수행할 수 있게 합니다.

IronXL은 C# 개발자들에게 Microsoft Excel을 위한 강력한 대체재로, Excel에 대한 완전한 지원, 우수한 속도, .NET Framework와의 부드러운 인터페이스를 제공합니다. IronXL은 사용자 친화적인 API와 Excel 문서에 대한 세밀한 제어로 C#에서 Excel 작성 작업을 더 쉽게 만듭니다.

이는 개발자들이 동적 보고서를 작성하고, 데이터를 내보내며, Excel과 관련된 작업을 자동화하기 쉽게 만들어 줍니다. C# 개발자들은 데스크탑, 온라인 또는 모바일 앱을 위한 Excel 파일을 제작하든 관계 없이, Excel과 관련된 작업을 최적화하고 C# 애플리케이션에서 Excel의 전체 성능을 활용하는 데 IronXL을 신뢰할 수 있습니다.

IronXL은 $799에서 시작 시 사용할 수 있습니다. 사용자들은 또한 추가 요금으로 1년 구독료를 지불하여 업데이트 및 제품 지원을 받을 수 있으며, IronXL은 무제한 재배포에 대한 보호를 제공합니다. 예상 비용에 대해 더 자세히 알아보려면 이 페이지를 방문하세요. Iron Software에 대해 더 알고 싶다면 여기를 방문하세요.

커티스 차우
기술 문서 작성자

커티스 차우는 칼턴 대학교에서 컴퓨터 과학 학사 학위를 취득했으며, Node.js, TypeScript, JavaScript, React를 전문으로 하는 프론트엔드 개발자입니다. 직관적이고 미적으로 뛰어난 사용자 인터페이스를 만드는 데 열정을 가진 그는 최신 프레임워크를 활용하고, 잘 구성되고 시각적으로 매력적인 매뉴얼을 제작하는 것을 즐깁니다.

커티스는 개발 분야 외에도 사물 인터넷(IoT)에 깊은 관심을 가지고 있으며, 하드웨어와 소프트웨어를 통합하는 혁신적인 방법을 연구합니다. 여가 시간에는 게임을 즐기거나 디스코드 봇을 만들면서 기술에 대한 애정과 창의성을 결합합니다.

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me