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

.NET Core에서 Excel 파일의 피벗 테이블 스타일 지정 > 블로그 & Tips

본문 바로가기

.NET API

블로그 & Tips

.NET Core에서 Excel 파일의 피벗 테이블 스타일 지정

페이지 정보

작성자 GrapeCity 작성일 2020-10-14 15:55 조회 3,453회 댓글 0건

본문

피벗 테이블은 Excel에서 사용되는 강력한 기능 중 하나로, 대규모 데이터 집합의 데이터를 체계적으로 정리하고 요약하여 의미 있는 보고서를 생성하는 데 도움이 됩니다. 분석을 위해 데이터를 체계적으로 구성할 때 특정 데이터가 더 중요하게 보이도록 강조 표시하거나 스타일을 지정해야 할 수 있습니다. 기본 제공 표 스타일 중 하나를 사용하거나 사용자 정의 표 스타일을 정의하여 피벗 테이블의 스타일을 지정할 수 있습니다. 표 스타일을 통해 HeaderRow, GrandTotalColumn, GrandTotalRow, WholeTable, FirstRowSubheading 등 피벗 테이블의 다양한 요소에 스타일을 지정합니다.


GcExcel .NET Core API에서 피벗 테이블을 생성하고, 스타일을 지정하고, Excel 및 PDF로 내보낼 수 있습니다. 이 문서에서는 GcExcel을 사용해 피벗 테이블에 스타일을 적용하고 PDF로 내보내 보겠습니다.


피벗 테이블에 표시할 데이터는 여러 국가의 제품 판매 데이터입니다. 국가를 그룹화하여 지역에 따른 범주(북부, 남부, 동부, 서부)를 만들었습니다. GrandTotalColumn 및 GrandTotalRow를 사용해 판매 데이터를 요약했습니다. 스타일 지정을 통해 제품 이름과 서로 다른 지역, 요약된 값을 강조 표시하고 머리글 행과 데이터 행을 구분했습니다.


피벗 테이블 만들기:

  1. 피벗 테이블을 만드는 데 사용할 데이터 집합으로 통합 문서 시트를 채웁니다. 여기서는 동일한 결과를 얻기 위해 통합 문서에 샘플 Excel 파일을 로드합니다.

  2. 데이터로 구성된 셀 범위를 지정하여 피벗 캐시를 만듭니다.

  3. 이 피벗 캐시를 피벗 테이블에 할당하여 시트에 피벗 테이블을 추가합니다.


코드:

public IPivotTable createPivotTable()
      {
          // Initialize workbook and load sample data
          workbook = new Workbook();
          workbook.Open(@"data\pivotdata.xlsx");
​
          //Fetch default worksheet 
          IWorksheet dataworksheet = workbook.Worksheets[1];
          IWorksheet pivotworksheet = workbook.Worksheets[0];
          pivotworksheet.Range["A:B"].ColumnWidth = 17.5;
          pivotworksheet.Range["C:H"].ColumnWidth = 12;
          pivotworksheet.Range["B:H"].HorizontalAlignment = HorizontalAlignment.Center;
​
          //Create the pivot cache
          var pivotcache = workbook.PivotCaches.Create(dataworksheet.Range["A1:G100"]);
          //Add the pivot table
          var pivottable = pivotworksheet.PivotTables.Add(pivotcache, pivotworksheet.Range["A5"], "pivottable1");
​
          //Add pivot fields and set number format code            
          var field_region = pivottable.PivotFields[1];
          field_region.Orientation = PivotFieldOrientation.RowField;
          field_region.Name = "Region";
          field_region.Position = 0;
​
          var field_city = pivottable.PivotFields[2];
          field_city.Orientation = PivotFieldOrientation.RowField;
          field_city.Name = "City";
          field_city.Position = 1;
​
          var field_Category = pivottable.PivotFields[3];
          field_Category.Orientation = PivotFieldOrientation.ColumnField;
          field_Category.Name = "Category";
​
          var field_Price = pivottable.PivotFields[6];
          field_Price.Orientation = PivotFieldOrientation.DataField;
          field_Price.NumberFormat = "#,##0"; //set number format code                                  
          return pivottable;
      }
 

기본 스타일이 지정된 피벗 테이블의 모양은 다음과 같습니다.


기본 제공 표 스타일을 적용하여 이 기본 스타일을 변경해 보겠습니다.


기본 제공 표 스타일을 피벗 테이블에 적용:


TableStyles 열거형을 통해 GcExcel의 기본 제공 표 스타일 컬렉션을 이용할 수 있습니다. 기본 제공 표 스타일을 피벗 테이블에 적용하려면 PivotTable 클래스의 Styles 속성을 TableStyles 열거형에 정의된 기본 제공 표 스타일로 설정하기만 하면 됩니다.


코드:

public void BuiltInStylePivot()
      {
          //Create pivot table and apply built-in style to it
          IPivotTable pivotTable = createPivotTable();
          pivotTable.Style = workbook.TableStyles["PivotStyleMedium20"];
​
          //Save workbook to Excel and PDF
          SavePivot("builtInStyle.xlsx", "builtInStyle.pdf");
      }
 

PivotStyleMedium20 스타일을 피벗 테이블에 적용하면 다음과 같은 모양이 됩니다.


기본 제공 표 스타일 외에 다른 스타일도 피벗 테이블에 지정할 수 있습니다. 사용자 정의 스타일을 정의한 다음 피벗 테이블의 Styles 속성에 할당할 수도 있습니다.


사용자 정의 표 스타일을 피벗 테이블에 적용:


ITableStyle 인터페이스를 통해 새로운 사용자 정의 표 스타일을 정의할 수 있습니다. 이 표 스타일은 HeaderRow, GrandTotalRow, GrandTotalColumn 등 여러 가지 표 요소의 스타일을 정의합니다. 각각의 표 요소에 대해 테두리, 내부, 글꼴 및 StripSize 스타일 설정을 정의할 수 있습니다.


다음은 HeaderRow, GrandTotalRow, GrandTotalColumn, FirstRowSubheading, WholeTable의 내부 색과 HeaderRow 및 GrandTotalRow의 글꼴 색을 설정하는 사용자 정의 스타일을 정의하기 위한 샘플 코드 조각입니다.


코드:

public void CustomStylePivot()
      {
          //Create pivot table
          IPivotTable pivotTable = createPivotTable();
​
          //Create PivotTable custom style 
          ITableStyle style = workbook.TableStyles.Add("pivotStyle1");
​
          // Configure the table style
          style.ShowAsAvailablePivotStyle = true;
          style.TableStyleElements[TableStyleElementType.HeaderRow].Interior.Color = Color.BlueViolet;
          style.TableStyleElements[TableStyleElementType.HeaderRow].Font.Color = Color.White;
          style.TableStyleElements[TableStyleElementType.GrandTotalRow].Interior.Color = Color.BlueViolet;
          style.TableStyleElements[TableStyleElementType.GrandTotalRow].Font.Color = Color.White;
          style.TableStyleElements[TableStyleElementType.GrandTotalColumn].Interior.Color = Color.LightCyan;
          style.TableStyleElements[TableStyleElementType.FirstRowSubheading].Interior.Color = Color.MediumPurple;
          style.TableStyleElements[TableStyleElementType.WholeTable].Interior.Color = Color.LightCyan;
​
          //Apply the custom style to pivot table
          pivotTable.Style = style;
​
          //Restrict applying custom table style to GrandTotalColumn                   
          pivotTable.ShowTableStyleLastColumn = false;
​
          //Save workbook to Excel and PDF
          SavePivot("customStyle.xlsx", "customStyle.pdf");
      }


다음은 사용자 정의 스타일을 적용한 피벗 테이블의 모습입니다.


몇 개의 표 요소에만 표 스타일을 적용하고 다른 요소에는 적용하지 않으려는 경우도 있습니다. ShowTableStyleLastColumn, ShowTableStyleColumnHeaders, ShowTableStyleRowHeaders, ShowTableStyleColumnStripes, ShowTableStyleRowStripes를 사용해 동일한 결과를 얻을 수 있습니다.

이러한 속성을 false로 설정하면 해당 속성에서 참조하는 표 요소에는 표 스타일이 적용되지 않습니다.


이제 이러한 스타일을 Excel 및 PDF로 내보내는 방법을 알아보겠습니다.


스타일이 지정된 피벗 테이블을 Excel/PDF로 내보내기:


Workbook 클래스의 Save 메서드를 통해 스타일이 지정된 피벗 테이블이 있는 통합 문서를 Excel 및 PDF 형식으로 내보낼 수 있습니다.


코드:

public void SavePivot(string excelfilename, string pdffilename)  
      {  
          //Saving workbook to Excel  
          workbook.Save(excelfilename, SaveFileFormat.Xlsx);
​
          // Saving workbook to pdf                  
          workbook.Save(pdffilename, SaveFileFormat.Pdf);  
      }


Excel 출력:

PDF 출력:자동으로 생성된 휴대폰 설명의 스크린샷


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

댓글목록

등록된 댓글이 없습니다.

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

태그1

인기글

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