Blazor Using Tables

    La funcionalidad deWorksheetTable Infragistics Blazor Excel Engine te permite formatear tus datos en filas y columnas. Los datos de una tabla de hojas de cálculo pueden gestionarse de forma independiente de los datos de las otras filas y columnas de unaWorksheet.

    Adding a Table to a Worksheet

    Las tablas de hojas de trabajo en el Infragistics Blazor Excel Engine están representadas por elWorksheetTable objeto y se añaden a la colección deTables la hoja de cálculo. Para añadir una tabla, necesitas invocar elAdd método en esta colección. En este método, puedes especificar la región en la que quieres añadir una tabla, si la tabla debe contener cabeceras y, opcionalmente, especificar el estilo de la tabla como objetoWorksheetTableStyle.

    El siguiente código demuestra cómo puedes añadir una tabla con cabeceras a unaWorksheet región que abarca una región de A1 a G10, donde A1 a G1 serán las cabeceras de columna:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.Worksheets.Add("Sheet1");
    
    worksheet.Tables.Add("A1:G10", true);
    

    Una vez que hayas añadido una tabla, puedes modificarla añadiendo o eliminando filas y columnas llamando a losInsertColumns métodos en el.InsertDataRowsDeleteColumnsDeleteDataRowsWorksheetTable También puedes establecer un nuevo rango de tabla usando elResize método 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");
    

    Filtering Tables

    El filtrado se realiza aplicando un filtro en una columna de laWorksheetTable. Cuando el filtro se aplica en una columna, todos los filtros de la tabla serán reevaluados para determinar qué filas cumplen los criterios de todos los filtros aplicados.

    Si los datos de la tabla se modifican posteriormente o cambias laHidden propiedad de las filas, las condiciones del filtro no se reevaluarán automáticamente. Las condiciones de filtro en una tabla solo se reaplican cuando se añaden, eliminan, modifican filtros de columna de tabla o cuando se llama alReapplyFilters método en la tabla.

    Los siguientes son los tipos de filtros disponibles para las columnas de tuWorksheetTable:

    • AverageFilter- Las celdas pueden filtrarse en función de si están por encima o por debajo del valor medio de todas las celdas de la columna.
    • CustomFilter- Las celdas pueden filtrarse 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 celdas con un relleno específico.
    • FixedValuesFilter- Se mostrarán celdas que solo coincidan con valores de visualización específicos o que pertenezcan a un grupo específico de fechas/horas.
    • FontColorFilter- Solo se mostrarán celdas con un color de fuente específico.
    • RelativeDateRangeFilter- Las celdas con valores de fecha pueden filtrarse en función de si ocurren dentro de un rango de tiempo relativo respecto a la fecha en que se aplicó el filtro, como el día siguiente o el trimestre anterior.
    • TopOrBottomFilter- Este filtro permite filtrar los valores N superiores o inferiores. También permite filtrar los valores superiores o inferiores de N%.
    • YearToDateFilter- Las celdas con valores de fecha pueden filtrarse si ocurren entre el inicio del año y la fecha en que se aplicó el filtro.

    El siguiente fragmento de código demuestra cómo aplicar un filtro "por encima de la media" a la primera columna de 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

    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 ordenación no se reevalúan automáticamente. Las condiciones de ordenación en una tabla solo se reaplican cuando se añaden, eliminan, modifican condiciones de ordenamiento o cuando se llama alReapplySortConditions método en la tabla. Cuando se reevalúan las condiciones de ordenación, solo se ordenan las celdas visibles. Todas las celdas en filas ocultas se mantienen en su lugar.

    Además de acceder a las condiciones de ordenación desde las columnas de la tabla, también están expuestas a laWorksheetTable colección deSortSettings laSortConditions propiedad. Esta es una colección ordenada de pares de columnas y condiciones de ordenación. El orden de esta colección es la precedencia de la ordenación.

    Los siguientes tipos de condiciones de clasificación están disponibles para establecer en columnas:

    • OrderedSortCondition- Ordenar las celdas en orden ascendente o descendente según su valor.
    • CustomListSortCondition- Ordenar celdas en un orden definido según su texto o valor de visualización. Por ejemplo, esto podría ser útil para ordenar los días tal como aparecen en un calendario, en lugar de alfabéticamente.
    • FillSortCondition- Ordenar celdas según si su relleno es un patrón o gradiente específico.
    • FontColorSortCondition- Ordenar celdas según si su fuente es de un color específico.

    También existe unaCaseSensitive propiedad en elSortSettingsWorksheetTable de para determinar si las cadenas deben ordenarse sensibles a mayúsculas y minúsculas o no.

    El siguiente fragmento de código demuestra cómo aplicar anOrderedSortCondition a aWorksheetTable:

    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

    • DeleteColumns
    • DeleteDataRows
    • FillFilter
    • InsertColumns
    • InsertDataRows
    • SortConditions
    • SortSettings
    • Tables
    • WorksheetTableStyle
    • WorksheetTable