! 제품 버전을 정확하게 입력해 주세요.
제품 버전이 정확하게 기재되어 있지 않은 경우,
최신 버전을 기준으로 안내 드리므로
더욱 빠르고 명확한 안내를 위해
제품 버전을 정확하게 입력해 주세요!

C# .NET을 사용해 Excel XLSX에서 워크시트당 개별 파일 생성 > 블로그 & Tips

본문 바로가기

.NET API

블로그 & Tips

C# .NET을 사용해 Excel XLSX에서 워크시트당 개별 파일 생성

페이지 정보

작성자 MESCIUS 작성일 2024-05-07 16:36 조회 11회 댓글 0건

본문

QUICK START GUIDE
필요한 항목

DsExcel v7.0.0

VS2022

참조 컨트롤

Worksheet.Copy

튜토리얼 안내Excel 워크시트 C# .NET - Document Solutions for Excel을 사용해 프로그래밍 방식으로 Excel 통합 문서를 여러 Excel 파일로 분할합니다.


Excel을 사용해 작성된 대부분의 비즈니스 보고서는 단순히 한 페이지의 문서가 아니라, 여러 워크시트에 저장된 서로 관련 있는 정보들의 집합입니다. 국가별 판매 보고서, 부서별 직원 레코드, 매장당 재고 목록 등을 예로 들 수 있습니다. 


하지만 Excel 파일의 워크시트 수가 늘어날수록, 한 문서 내에서 모든 데이터를 탐색하고 관리하는 것이 어려워집니다. 게다가 이러한 Excel 문서에는 모든 이해관계자를 고려하지 않은 정보도 있어서 다양한 이해관계자와 공유하기에 어려운 측면이 있습니다. 따라서 여러 워크시트로 구성된 Excel 문서를 분할하여 관리를 용이하게 하고 효율성을 높이며 데이터를 분리해야 합니다.


Excel은 최고의 기능을 자랑하지만, 워크시트를 분할하는 기능은 기본으로 제공되지 않으므로 수동으로 분할하거나 VBA를 사용해야 합니다. 수동 방식은 비효율적이고 오류가 잦으며, VBA 방식은 파일이 보안에 취약할 수 있습니다.


Document Solutions for Excel C# .NET(DsExcel)은 Excel 파일에서 프로그래밍 방식으로 여러 워크시트를 별도의 Excel 문서로 분할하는 기능을 다음과 같이 제공합니다.


  • 원본에서 대상 통합 문서로 복사해 워크시트 분할

  • 원본에서 대상 통합 문서로 옮겨 워크시트 분할

  • 원본 파일에서 원하지 않는 워크시트를 삭제해 워크시트를 분할하고 새 문서로 저장

  • 원본의 내용을 대상 통합 문서 등에 복사 및 붙여넣기하여 워크시트 분할


이 블로그에서는 프로그래밍 방식으로 워크시트를 원본에서 대상 통합 문서로 복사하여 분할하는 방법을 살펴봅니다.



사용 사례

최고 영업 책임자가 개별 시트에 지역별 판매 분석 정보가 포함된 Excel 보고서를 준비했다고 가정해 봅시다.


이 보고서를 국가별 판매 관리자와 공유하고자 합니다. 하지만, 한 지역의 분석 세부 정보를 다른 지역과 분리하기 위해 별도의 Excel 파일로 시트를 분리하려고 합니다.


세 가지 간단한 단계로 DsExcel .NET을 사용해 각 워크시트에 대한 개별 Excel 파일을 만드는 법을 확인해 봅시다.


Visual Studio에서 DsExcel로 시작하려면 문서를 따르십시오.



1단계 - 통합 문서 초기화

첫 번째 단계는 분할하고자 하는 시트가 있는 원본 통합 문서를 로드하는 것입니다.  


DsExcel을 사용하면 아래 표시된 대로, IWorkbook 인터페이스에서 Open 메서드를 사용해 Excel 파일을 로드할 수 있습니다.

var sourceWorkbook = new Workbook();
sourceWorkbook.Open("SourceWorkbook.xlsx");


2단계 - 로직을 추가해 Excel 워크시트 분할


다음 단계는 로직을 추가해 다음을 포함하는 원본 통합 문서의 워크시트를 분할하는 것입니다.


  • 루프를 생성해 원본 통합 문서에 있는 각각의 워크시트 전체에 반복하고 원하는 대로 분할

  • 임시 통합 문서 초기화

  • 원본 통합 문서의 현재 워크시트를 IWorksheets 인터페이스에서 Copy 메서드를 사용해 임시 통합 문서의 끝에 복사

  • 임시 통합 문서의 기본 시트 삭제

    foreach(IWorksheet wrkSheet in sourceWorkbook.Worksheets)
    {
      var tempWorkBook = new Workbook();                
      wrkSheet.Copy(tempWorkBook);
      tempWorkBook.Worksheets["Sheet1"].Delete();
    }

3단계 - 분할 Excel 워크시트 저장

마지막으로, 아래 표시된 대로 IWorkbook 인터페이스에서 Save 메서드를 사용해 분할 워크시트를 개별 Excel 또는 다른 서식으로 저장합니다.

tempWorkBook.Save(wrkSheet.Name + ".xlsx");
or 
tempWorkBook.Save(wrkSheet.Name + ".pdf", SaveFileFormat.Pdf);


전체 코드 조각은 아래에 설명된 대로입니다.

var sourceWorkbook = new Workbook();
sourceWorkbook.Open("SourceWorkbook.xlsx");
​
foreach(IWorksheet wrkSheet in sourceWorkbook.Worksheets)
{
    var tempWorkBook = new Workbook();          
    //Copy the current worksheet to the end of temp workbook      
    wrkSheet.Copy(tempWorkBook); 
    //Delete the default worksheet in temp workbook
    tempWorkBook.Worksheets["Sheet1"].Delete(); 
    //Save the temp workbook
    tempWorkBook.Save(wrkSheet.Name + ".xlsx");                
}   


DsExcel은 특정 Excel 요구 사항을 위해 워크시트를 분할할 목적으로 CopyAfter, CopyBefore와 같은 더 많은 메서드를 IWorksheets 인터페이스에서 제공합니다.


또한, 워크시트를 원본에서 대상 Excel 파일로 옮겨 분할하는 Move, MoveAfter, MoveBefore 메서드도 제공합니다.



결론

Document Solutions for Excel(DsExcel)은 C#을 사용하여 Excel 문서의 생성, 읽기, 편집을 간소화하는 강력한 도구입니다. 프로그래밍 방식으로 간단하고 효율적으로 Excel 문서를 처리할 수 있도록 지원합니다.


바로 사용 가능한 API를 통해 코드 몇 줄만으로도 워크시트 분할처럼 원하는 Excel 작업을 수행할 수 있습니다.

프로그래밍 방식으로 Excel 문서를 처리함으로써 귀중한 시간을 절약하고 데이터 정밀도를 보장할 수 있습니다.

Java 버전의 백엔드 Excel API를 찾고 계신가요?

- DsExcel Java API 바로가기




지금 바로 DsExcel .NET을 다운로드하여 직접 테스트해보세요!

  • 페이스북으로 공유
  • 트위터로  공유
  • 링크 복사
  • 카카오톡으로 보내기

댓글목록

등록된 댓글이 없습니다.

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기

태그1

메시어스 홈페이지를 통해 제품에 대해서 더 자세히 알아 보세요!
홈페이지 바로가기
이메일 : sales-kor@mescius.com | 전화 : 1670-0583 | 경기도 과천시 과천대로 7길 33, 디테크타워 B동 1107호 메시어스(주) 대표자 : 허경명 | 사업자등록번호 : 123-84-00981 | 통신판매업신고번호 : 2013-경기안양-00331 ⓒ 2024 MESCIUS inc. All rights reserved.