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

C# .NET용 GCExcel API의 가져오기 및 내보내기 성능을 향상하는 방법 > 블로그 & Tips

본문 바로가기

.NET API

블로그 & Tips

C# .NET용 GCExcel API의 가져오기 및 내보내기 성능을 향상하는 방법

페이지 정보

작성자 GrapeCity 작성일 2023-07-11 14:20 조회 220회 댓글 0건

본문

첨부파일

GcExcel.NET은 포괄적인 API 집합을 사용하여 프로그래밍 방식으로 Excel(XLSX) 스프레드시트를 생성할 수 있는 기능을 제공합니다.


GcExcel.NET은 .NET Framework, .NET Core, Mono 등 여러 플랫폼용 Microsoft Excel 호환 스프레드시트 만들기, 조작, 변환 및 공유를 지원합니다. 따라서 모든 스프레드시트 작업에 완벽한 솔루션입니다.


사용자는 GcExcel.NET API를 사용하여 Excel 보고서 참조, 표 및 피벗 테이블 정렬 및 필터링, 차트, 스파크라인, 조건부 서식, 대시보드 보고서 추가 등 모든 스프레드시트 시나리오를 가져오고, 계산하고, 질의하고, 생성하고 내보낼 수 있습니다.


XLSX 파일을 가져오고 내보낼 때, 모든 항목을 똑같은 방법으로 전송할 필요가 없을 수도 있습니다. 데이터만 필요한 경우도 있고, 수식 결과만 필요할 수도 있습니다. 유지 또는 제외할 기능을 선택할 수 있도록 GcExcel.NET은 다양한 가져오기 및 내보내기 옵션을 제공합니다. 이러한 옵션은 여러 개의 시트, 수식 또는 많은 도형이 포함된 대형 파일을 다룰 때 특히 유용합니다. 따라서 최적화된 가져오기 및 내보내기 환경을 제공합니다.


이 블로그에서는 Excel(XLSX) 파일을 로드할 때 가져오기 옵션의 시간 성능 및 내보내기 옵션을 사용하여 최적화된 파일 크기를 보여 줍니다. 여러 행과 열에 실제 함수, 수식 및 데이터가 포함된 몇몇 Excel 문서에 대해 테스트를 실시할 것입니다.


테스트 시스템 구성


Windows

  • OS - Microsoft Windows 10 Pro

  • 버전 - 21H2(OS 빌드 19044.1645)

  • 시스템 유형 - x64

  • 프로세서 - Intel(R) Core(TM) i7-10850H CPU @ 2.70GHz 2.71GHz, 6개의 코어, 12개의 논리 프로세서

  • 설치된 물리적 메모리(RAM) - 16.00GB


테스트 응용 프로그램 유형

  • .NET 6 응용 프로그램


제품 버전

  • GcExcel(v6.1.0)


테스트 데이터

간단한 수식과 복잡한 수식, 대용량 데이터 레코드, 여러 열의 데이터, 스타일, 정의된 개체 등이 포함된 몇몇 Excel 파일은 여기에서 다운로드하시면 됩니다.



Excel XLSX 가져오기 성능


GcExcel.NET은 Excel XLSX 문서를 가져올 때 DoNotAutoFitAfterOpenedDoNotRecalculateAfterOpened의 두 가지 옵션을 제공합니다.


전자 옵션은 행과 열 치수를 조정하기 위해 렌더링 계산을 건너뛰고, 후자는 파일을 로드한 후 다시 수식 계산을 건너뛰므로 성능이 개선됩니다.


테스트 메트릭

  • 문서를 로드하는 데 걸리는 시간


가져오기 옵션을 사용하거나 사용하지 않고 위의 테스트 문서를 로드하는 데 걸린 시간이 아래 표시되어 있습니다.

C# .NET용 GCExcel API


다음은 측정값을 계산하는 데 사용되는 코드입니다.

OutFilePath = Path.Combine("Files", "Output", "GcExcel");
InputFilePath = Path.Combine("Files", "Input");

Workbook workbook = new Workbook();
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
  
//NO IMPORT OPTION            
workbook.Open(InputFilePath);

//IMPORT OPTIONS
//XlsxOpenOptions openOptions = new XlsxOpenOptions();
//openOptions.DoNotAutoFitAfterOpened = true;
//openOptions.DoNotRecalculateAfterOpened = true;
//workbook.Open(inputFile, openOptions);

stopwatch.Stop();
openTime = stopwatch.ElapsedMilliseconds / 1000d;
            
workbook.Save(Path.Combine(OutFilePath, fileName)); 



Excel XLSX 내보내기 최적화


GcExcel.NET의 ExcludeUnusedStyles, ExcludeUnusedNamesExcludeEmptyRegionCells 옵션을 사용하여 사용되지 않는 스타일과 정의된 개체, 데이터가 없는 셀 내보내기를 제어할 수 있습니다.


이러한 옵션을 사용하면 내보낸 문서에서 필요하지 않은 항목을 유지할지 또는 삭제할지 선택할 수 있습니다. 따라서 저장된 파일의 크기를 최적화하는 데 도움이 됩니다.


테스트 메트릭

  • 문서를 저장한 후 파일 크기


내보내기 옵션을 사용하거나, 사용하지 않고 테스트 문서를 저장한 후의 파일 크기가 아래 표시되어 있습니다.

C# .NET용 GCExcel API


자세한 코드는 다음과 같습니다.

OutFilePath = Path.Combine("Files", "Output", "GcExcel");
InputFilePath = Path.Combine("Files", "Input");

Workbook workbook = new Workbook();
workbook.Open(InputFilePath);            

//NO EXPORT OPTION
workbook.Save(Path.Combine(OutFilePath, fileName));

//EXPORT OPTIONS
//XlsxSaveOptions saveOptions = new XlsxSaveOptions();
//saveOptions.ExcludeUnusedNames = true;
//saveOptions.ExcludeUnusedStyles = true;
//saveOptions.ExcludeEmptyRegionCells = true;
//saveOptions.IgnoreFormulas = true;

//workbook.Save(Path.Combine(OutFilePath, fileName), saveOptions);

decimal size = (decimal)new FileInfo(Path.Combine(OutFilePath, fileName)).Length;
decimal sizeInKB = size / 1024;
sizeInMB = Math.Round(sizeInKB / 1024, 2);



성능 샘플


샘플을 다운로드하여 GcExcel.NET을 직접 테스트해 보세요!

참고: 특정 시스템 구성에서 얻은 결과입니다. 다른 구성에서 실행하는 경우 수집한 결과와 값이 다를 수 있습니다.




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


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

댓글목록

등록된 댓글이 없습니다.

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

태그1

인기글

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