Blazor Using Tables
Infragistics Blazor Excel 엔진의WorksheetTable 기능은 데이터를 행과 열로 포맷할 수 있게 합니다. 워크시트 테이블의 데이터는 다른 행과 열Worksheet의 데이터와 독립적으로 관리할 수 있습니다.
Adding a Table to a Worksheet
Infragistics Blazor Excel 엔진의 워크시트 표는 객체로WorksheetTable 표현되며 워크시트Tables 컬렉션에 추가됩니다. 테이블을 추가하려면 이 컬렉션에서 메서드를Add 호출해야 합니다. 이 방법에서는 테이블을 추가하고 싶은 영역, 헤더를 포함할지 여부, 그리고 선택적으로 테이블의 스타일을 객체로WorksheetTableStyle 지정할 수 있습니다.
다음 코드는 A1부터 G10까지 영역을 아우르는 헤더Worksheet가 있는 테이블을 추가하는 방법을 보여줍니다. 여기서 A1에서 G1은 열의 헤더가 됩니다:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Tables.Add("A1:G10", true);
테이블을 추가한 후에는 the,,InsertColumns,InsertDataRows 메서드DeleteColumnsDeleteDataRows를 호출WorksheetTable 하여 행과 열을 추가하거나 삭제하여 수정할 수 있습니다. 또한 테이블 메서드를 사용Resize 해 새로운 테이블 범위를 설정할 수도 있습니다.
다음 코드 조각은 이러한 메서드의 사용법을 보여줍니다.
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.Worksheets.Add("Sheet1");
var table = worksheet.Tables.Add("A1:G10", true);
//Will add 5 columns at index 1.
table.InsertColumns(1, 5);
//Will add 5 rows at index 0.
table.InsertDataRows(0, 5);
//Will delete 5 columns starting at index 1.
table.DeleteColumns(1, 5);
//Will delete 5 rows starting at index 0.
table.DeleteDataRows(0, 5);
//Will resize the table to be in the region of A1:G15.
table.Resize("A1:G15");
Filtering Tables
필터링은 열에 필터를 적용WorksheetTable 하여 수행됩니다. 필터가 열에 적용되면, 테이블 내 모든 필터가 재평가되어 적용된 모든 필터의 기준을 충족하는 행이 무엇인지 결정됩니다.
만약 테이블의 데이터가 변경되거나 행의 속성을 변경Hidden 하면, 필터 조건이 자동으로 재평가되지 않습니다. 테이블 내 필터 조건은 테이블 열 필터가 추가, 제거, 수정되거나ReapplyFilters 메서드가 테이블에 호출될 때만 다시 적용됩니다.
다음은 귀하의WorksheetTable 열에서 사용할 수 있는 필터 유형입니다:
AverageFilter- 셀은 열의 모든 셀 평균 값보다 높거나 낮은지에 따라 필터링할 수 있습니다.CustomFilter- 셀은 하나 이상의 맞춤형 조건에 따라 필터링할 수 있습니다.DatePeriodFilter- 특정 월이나 분기의 날짜가 표시된 셀만 표시됩니다.FillFilter- 특정 채우기만 표시됩니다.FixedValuesFilter- 특정 표시 값에만 일치하거나 특정 날짜/시간 그룹에 속하는 셀이 표시됩니다.FontColorFilter- 특정 글꼴 색상을 가진 셀만 표시됩니다.RelativeDateRangeFilter- 날짜 값을 가진 셀은 필터가 적용된 날짜의 상대적 시간 범위 내에 있는지(예: 다음 날이나 이전 분기) 내에 있는지 기준으로 필터링할 수 있습니다.TopOrBottomFilter- 이 필터는 상위 또는 하단 N 값을 필터링할 수 있게 합니다. 또한 상단 또는 하단 N% 값을 필터링할 수 있습니다.YearToDateFilter- 날짜 값을 가진 셀은 연초와 필터가 적용된 날짜 사이에 발생하면 필터링할 수 있습니다.
다음 코드 스니펫은 aWorksheetTable의 첫 번째 열에 "평균 이상" 필터를 적용하는 방법을 보여줍니다:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.Worksheets.Add("Sheet1");
var table = worksheet.Tables.Add("A1:G10", true);
table.Columns[0].ApplyAverageFilter(Documents.Excel.Filtering.AverageFilterType.AboveAverage);
Sorting Tables
정렬은 테이블 컬럼에 정렬 조건을 설정하여 수행됩니다. 열에 정렬 조건을 설정하면 테이블의 모든 정렬 조건을 다시 평가하여 테이블의 셀 순서를 결정합니다. 정렬 기준을 충족하기 위해 셀을 이동해야 하는 경우 테이블의 전체 셀 행이 한 단위로 이동됩니다.
만약 표의 데이터가 이후에 변경되면, 정렬 조건이 자동으로 재평가되지 않습니다. 테이블 내 정렬 조건은 정렬 조건이 추가, 제거, 수정되거나 메서드가ReapplySortConditions 테이블에 호출될 때만 다시 적용됩니다. 정렬 조건을 재평가할 때는 보이는 셀만 정렬됩니다. 숨겨진 줄에 있는 모든 감방은 제자리에 보관됩니다.
테이블 열에서 정렬 조건에 접근할 수 있는 것 외에도, 이 조건들은 's 속성의WorksheetTable 컬렉션에서도 노출SortSettingsSortConditions 됩니다. 이는 열/정렬 조건 쌍의 순서화된 집합입니다. 이 컬렉션의 순서가 정렬의 우선순위입니다.
열에 설정할 수 있는 정렬 조건 유형은 다음과 같습니다.
OrderedSortCondition- 셀을 값에 따라 오름차순 또는 내림차순으로 정렬합니다.CustomListSortCondition- 셀을 텍스트 또는 표시 값에 따라 정해진 순서로 정렬합니다. 예를 들어, 알파벳 순서가 아니라 달력에 표시된 날짜를 정렬하는 데 유용할 수 있습니다.FillSortCondition- 셀의 채움이 특정 패턴인지 구배인지에 따라 정렬합니다.FontColorSortCondition- 셀의 글꼴이 특정 색상인지 여부에 따라 정렬합니다.
또한 에CaseSensitiveSortSettings 문자열을 대문자 대소수로 정렬할지 여부를 결정하는 속성도 있습니다WorksheetTable.
다음 코드 스니펫은 a에OrderedSortCondition anWorksheetTable을 적용하는 방법을 보여줍니다:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.Worksheets.Add("Sheet1");
var table = worksheet.Tables.Add("A1:G10", true);
table.Columns[0].SortCondition = new Infragistics.Documents.Excel.Sorting.OrderedSortCondition(Documents.Excel.Sorting.SortDirection.Ascending);
//Alternative
table.SortSettings.SortConditions.Add(table.Columns[0], new Infragistics.Documents.Excel.Sorting.OrderedSortCondition(Documents.Excel.Sorting.SortDirection.Ascending));
API References
DeleteColumnsDeleteDataRowsFillFilterInsertColumnsInsertDataRowsSortConditionsSortSettingsTablesWorksheetTableStyleWorksheetTable