Blazor Using Tables
La funcionalidad del motor de WorksheetTable
Excel Infragistics Blazor le permite dar formato a sus datos en filas y columnas. Los datos de una tabla de hoja de cálculo se pueden administrar independientemente de los datos de las otras filas y columnas de a Worksheet
.
Adding a Table to a Worksheet
Las tablas de hojas de cálculo del motor de Excel Infragistics Blazor se representan mediante el WorksheetTable
objeto y se agregan a la colección de la hoja de Tables
cálculo. Para agregar una tabla, debe invocar el Add
método en esta colección. En este método, puede especificar la región en la que desea agregar una tabla, si la tabla debe contener encabezados y, opcionalmente, especificar el estilo de la tabla como un WorksheetTableStyle
objeto.
El siguiente código demuestra cómo puede agregar una tabla con encabezados a una Worksheet
que abarque una región de A1 a G10, donde A1 a G1 serán los encabezados de columna:
var workbook = new Workbook(WorkbookFormat.Excel2007);
var worksheet = workbook.Worksheets.Add("Sheet1");
worksheet.Tables.Add("A1:G10", true);
razor
Una vez que haya agregado una tabla, puede modificarla agregando o eliminando filas y columnas llamando a los métodos InsertColumns
, InsertDataRows
, DeleteColumns
o DeleteDataRows
en WorksheetTable
. También puede establecer un nuevo rango de tabla utilizando el método Resize
de la tabla.
El siguiente fragmento de código muestra el uso de estos métodos:
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");
razor
Filtering Tables
El filtrado se realiza aplicando un filtro en una columna de WorksheetTable
. Cuando el filtro se aplica en una columna, todos los filtros de la tabla se reevaluarán para determinar qué filas cumplen con los criterios de todos los filtros aplicados.
Si los datos de la tabla se modifican posteriormente o cambia la propiedad Hidden
de las filas, las condiciones del filtro no se reevaluarán automáticamente. Las condiciones de filtro en una tabla solo se vuelven a aplicar cuando se agregan, eliminan, modifican filtros de columnas de la tabla o cuando se llama al método ReapplyFilters
en la tabla.
Los siguientes son los tipos de filtro disponibles para las columnas de su WorksheetTable
:
AverageFilter
: las celdas se pueden filtrar en función de si están por encima o por debajo del valor promedio de todas las celdas de la columna.CustomFilter
: las celdas se pueden filtrar según una o más condiciones personalizadas.DatePeriodFilter
: solo se mostrarán celdas con fechas en un mes o trimestre específico de cualquier año.FillFilter
: solo se mostrarán las celdas con un relleno específico.FixedValuesFilter
: se mostrarán las celdas que solo coincidan con valores de visualización específicos o que se encuentren dentro de un grupo específico de fechas/horas.FontColorFilter
: solo se mostrarán las celdas con un color de fuente específico.RelativeDateRangeFilter
: las celdas con valores de fecha se pueden filtrar en función de si ocurren dentro de un rango de tiempo relativo de la fecha en la que se aplicó el filtro, como el día siguiente o el trimestre anterior.TopOrBottomFilter
: este filtro permite filtrar los N valores superiores o inferiores. También permite filtrar los valores N% superiores o inferiores.YearToDateFilter
: las celdas con valores de fecha se pueden filtrar si ocurren entre el inicio del año y la fecha en la que se aplicó el filtro.
El siguiente fragmento de código demuestra cómo aplicar un filtro "por encima del promedio" a la primera columna de una WorksheetTable
:
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);
razor
Sorting Tables
La clasificación se realiza estableciendo una condición de clasificación en una columna de la tabla. Cuando se establece una condición de clasificación en una columna, todas las condiciones de clasificación de la tabla se reevaluarán para determinar el orden de las celdas de la tabla. Cuando es necesario mover celdas para cumplir con sus criterios de clasificación, toda la fila de celdas de la tabla se mueve como una unidad.
Si los datos de la tabla se modifican posteriormente, las condiciones de clasificación no se reevalúan automáticamente. Las condiciones de clasificación en una tabla solo se vuelven a aplicar cuando se agregan, eliminan, modifican condiciones de clasificación o cuando se llama al método ReapplySortConditions
en la tabla. Cuando se reevalúan las condiciones de clasificación, solo se clasifican las celdas visibles. Todas las celdas de las filas ocultas se mantienen en su lugar.
Además de acceder a las condiciones de clasificación desde las columnas de la tabla, también se exponen en la colección SortConditions
de la propiedad SortSettings
de WorksheetTable
. Esta es una colección ordenada de columnas/pares de condiciones de clasificación. El orden de esta colección es la precedencia de la clasificación.
Los siguientes tipos de condiciones de clasificación están disponibles para establecer en columnas:
OrderedSortCondition
- Sort cells in an ascending or descending order based on their value.CustomListSortCondition
: ordena las celdas en un orden definido según su texto o valor de visualización. Por ejemplo, esto podría resultar útil para ordenar los días tal como aparecen en un calendario, en lugar de hacerlo alfabéticamente.FillSortCondition
: ordena las celdas según si su relleno es un patrón o degradado específico.FontColorSortCondition
: ordena las celdas según si su fuente es de un color específico.
También hay una propiedad CaseSensitive
en SortSettings
de WorksheetTable
para determinar si las cadenas deben ordenarse distinguiendo entre mayúsculas y minúsculas o no.
El siguiente fragmento de código demuestra cómo aplicar una OrderedSortCondition
a una WorksheetTable
:
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));
razor
API References
DeleteColumns
DeleteDataRows
FillFilter
InsertColumns
InsertDataRows
SortConditions
SortSettings
Tables
WorksheetTableStyle
WorksheetTable