.NET Core에서 Excel 파일의 피벗 테이블 스타일 지정
페이지 정보
작성자 GrapeCity 작성일 2020-10-14 15:55 조회 3,453회 댓글 0건본문
관련링크
피벗 테이블은 Excel에서 사용되는 강력한 기능 중 하나로, 대규모 데이터 집합의 데이터를 체계적으로 정리하고 요약하여 의미 있는 보고서를 생성하는 데 도움이 됩니다. 분석을 위해 데이터를 체계적으로 구성할 때 특정 데이터가 더 중요하게 보이도록 강조 표시하거나 스타일을 지정해야 할 수 있습니다. 기본 제공 표 스타일 중 하나를 사용하거나 사용자 정의 표 스타일을 정의하여 피벗 테이블의 스타일을 지정할 수 있습니다. 표 스타일을 통해 HeaderRow, GrandTotalColumn, GrandTotalRow, WholeTable, FirstRowSubheading 등 피벗 테이블의 다양한 요소에 스타일을 지정합니다.
에서 피벗 테이블을 생성하고, 스타일을 지정하고, Excel 및 PDF로 내보낼 수 있습니다. 이 문서에서는 GcExcel을 사용해 피벗 테이블에 스타일을 적용하고 PDF로 내보내 보겠습니다.
피벗 테이블 만들기:
피벗 테이블을 만드는 데 사용할 데이터 집합으로 통합 문서 시트를 채웁니다. 여기서는 동일한 결과를 얻기 위해 통합 문서에 샘플 Excel 파일을 로드합니다.
데이터로 구성된 셀 범위를 지정하여 피벗 캐시를 만듭니다.
이 피벗 캐시를 피벗 테이블에 할당하여 시트에 피벗 테이블을 추가합니다.
코드:
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 출력:
댓글목록
등록된 댓글이 없습니다.