React Using Worksheets

    La worksheet de Infragistics React Excel Engine es donde se guardan sus datos. Puede ingresar datos trabajando con las filas y celdas de la hoja de trabajo y estableciendo sus valores correspondientes. La worksheet le permite filtrar, ordenar y personalizar los formatos de las celdas, como se muestra a continuación.

    React Using Worksheets Example

    El siguiente código muestra las importaciones necesarias para utilizar los fragmentos de código siguientes:

    import { Workbook } from "igniteui-react-excel";
    import { Worksheet } from "igniteui-react-excel";
    import { WorkbookFormat } from "igniteui-react-excel";
    import { Color } from "igniteui-react-core";
    
    import { CustomFilterCondition } from "igniteui-react-excel";
    import { ExcelComparisonOperator } from "igniteui-react-excel";
    import { FormatConditionTextOperator } from "igniteui-react-excel";
    import { OrderedSortCondition } from "igniteui-react-excel";
    import { RelativeIndex } from "igniteui-react-excel";
    import { SortDirection } from "igniteui-react-excel";
    import { WorkbookColorInfo } from "igniteui-react-excel";
    

    Configuring the Gridlines

    Las líneas de cuadrícula se utilizan para separar visualmente las celdas de la hoja de trabajo. Puede mostrar u ocultar las líneas de la cuadrícula y también cambiar su color.

    Puede mostrar u ocultar las líneas de la cuadrícula usando la propiedad showGridlines de displayOptions de la hoja de trabajo. El siguiente código demuestra cómo puede ocultar las líneas de la cuadrícula en su hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.showGridlines = false;
    

    Puede configurar el color de las líneas de cuadrícula utilizando la propiedad gridlineColor de las displayOptions de la hoja de trabajo. El siguiente código demuestra cómo puede cambiar las líneas de la cuadrícula en su hoja de trabajo para que sean rojas:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.gridlineColor = "Red";
    

    Configuring the Headers

    Los encabezados de columnas y filas se utilizan para identificar visualmente columnas y filas. También se utilizan para resaltar visualmente la celda o región de celda actualmente seleccionada.

    Puede mostrar u ocultar los encabezados de columnas y filas utilizando la propiedad showRowAndColumnHeaders de displayOptions de la hoja de trabajo. El siguiente código demuestra cómo puede ocultar los encabezados de filas y columnas:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.showRowAndColumnHeaders = false;
    

    Configuring Editing of the Worksheet

    De forma predeterminada, los objetos worksheet que guarde serán editables. Puede desactivar la edición de una hoja de trabajo protegiéndola utilizando el método protect del objeto de worksheet. Este método tiene muchos argumentos bool que aceptan valores NULL que determinan qué piezas están protegidas, y una de estas opciones es permitir la edición de objetos, que si se establece en falso impedirá la edición de la hoja de trabajo.

    El siguiente código demuestra cómo deshabilitar la edición en su hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    

    También puede utilizar el método protect del objeto worksheet para proteger una hoja de trabajo contra cambios estructurales.

    Cuando se establece la protección, puede establecer la propiedad locked del objeto cellFormat en celdas, filas, regiones de celdas fusionadas o columnas individuales para anular la protección del objeto de hoja de cálculo en esos objetos. Por ejemplo, si necesita que todas las celdas de una hoja de trabajo sean de solo lectura, excepto las celdas de una columna, puede proteger la hoja de trabajo y luego establecer la propiedad locked del objeto cellFormat en falso en un objeto WorksheetColumn específico. Esto permitirá a sus usuarios editar celdas dentro de la columna mientras deshabilita la edición de las otras celdas en la hoja de trabajo.

    El siguiente código demuestra cómo puede hacer esto:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    worksheet.columns(0).cellFormat.locked = false;
    

    Filtering Worksheet Regions

    El filtrado se realiza estableciendo una condición de filtro en WorksheetFilterSettings de una hoja de trabajo que se puede recuperar de la propiedad filterSettings del objeto worksheet. Las condiciones de filtro solo se vuelven a aplicar cuando se agregan, eliminan, modifican o cuando se llama al método reapplyFilters en la hoja de trabajo. No se evalúan constantemente a medida que cambian los datos dentro de la región.

    Puede especificar la región para aplicar el filtro utilizando el método setRegion en el objeto WorksheetFilterSettings.

    A continuación se muestra una lista de métodos y sus descripciones que puede utilizar para agregar un filtro a una hoja de trabajo:

    Método Descripción
    applyAverageFilter Representa un filtro que puede filtrar datos en función de si están por debajo o por encima del promedio de todo el rango de datos.
    applyDatePeriodFilter Representa un filtro que puede filtrar fechas en un mes o trimestre de cualquier año.
    applyFillFilter Representa un filtro que filtrará las celdas según sus rellenos de fondo. Este filtro especifica un único CellFill. Las celdas con este relleno serán visibles en el rango de datos. Todas las demás celdas estarán ocultas.
    ApplyFixedValuesFilter Representa un filtro que puede filtrar celdas en función de valores fijos específicos, que pueden mostrarse.
    applyFontColorFilter Representa un filtro que filtrará las celdas según sus colores de fuente. Este filtro especifica un solo color. Las celdas con esta fuente de color serán visibles en el rango de datos. Todas las demás celdas estarán ocultas.
    applyIconFilter Representa un filtro que puede filtrar celdas según su icono de formato condicional.
    applyRelativeDateRangeFilter Representa un filtro que puede filtrar celdas de fecha en función de fechas relativas al momento en que se aplicó el filtro.
    applyTopOrBottomFilter Representa un filtro que puede filtrar en celdas en la parte superior o inferior de los valores ordenados.
    applyYearToDateFilter Representa un filtro que puede filtrar en celdas de fecha si las fechas ocurren entre el inicio del año actual y el momento en que se evalúa el filtro.
    applyCustomFilter Representa un filtro que puede filtrar datos según una o dos condiciones personalizadas. Estas dos condiciones de filtro se pueden combinar con una operación lógica "y" o "o".

    Puede utilizar el siguiente fragmento de código como ejemplo para agregar un filtro a una región de la hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.filterSettings.setRegion("Sheet1!A1:A10");
    worksheet.filterSettings.applyAverageFilter(0, AverageFilterType.AboveAverage);
    

    Freezing and Splitting Panes

    Puede congelar filas en la parte superior de su hoja de trabajo o columnas a la izquierda usando las funciones de paneles de congelación. Las filas y columnas congeladas permanecen visibles en todo momento mientras el usuario se desplaza. Las filas y columnas congeladas están separadas del resto de la hoja de trabajo por una única línea continua que no se puede eliminar.

    Para habilitar la congelación de paneles, debe establecer la propiedad panesAreFrozen de displayOptions del objeto de worksheet en true. Luego puede especificar las filas o columnas que desea congelar utilizando las propiedades FrozenRows y FrozenColumns de las opciones de visualización frozenPaneSettings, respectivamente.

    También puede especificar la primera fila en el panel inferior o la primera columna en el panel derecho usando las propiedades FirstRowInBottomPane y FirstColumnInRightPane, respectivamente.

    El siguiente fragmento de código demuestra cómo utilizar las funciones de paneles congelados en una hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.panesAreFrozen = true;
    
    worksheet.displayOptions.frozenPaneSettings.frozenRows = 3;
    worksheet.displayOptions.frozenPaneSettings.frozenColumns = 1;
    
    worksheet.displayOptions.frozenPaneSettings.firstColumnInRightPane = 2;
    worksheet.displayOptions.frozenPaneSettings.firstRowInBottomPane = 6;
    

    Setting the Worksheet Zoom Level

    Puede cambiar el nivel de zoom para cada hoja de trabajo de forma independiente utilizando la propiedad MagnificationInNormalView en displayOptions del objeto worksheet. Esta propiedad toma un valor entre 10 y 400 y representa el porcentaje de zoom que desea aplicar.

    El siguiente código demuestra cómo puede hacer esto:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.displayOptions.magnificationInNormalView = 300;
    

    Worksheet Level Sorting

    La clasificación se realiza estableciendo una condición de clasificación en un objeto a nivel de hoja de trabajo, ya sea en columnas o filas. Puede ordenar columnas o filas en orden ascendente o descendente.

    Esto se hace especificando una región y un tipo de clasificación para WorksheetSortSettings del objeto worksheet que se puede recuperar usando la propiedad sortSettings de la hoja.

    Las condiciones de clasificación en una hoja solo se vuelven a aplicar cuando se agregan, eliminan, modifican condiciones de clasificación o cuando se llama al método reapplySortConditions en la hoja de trabajo. Las columnas o filas se ordenarán dentro de la región. "Filas" es el tipo de clasificación predeterminado.

    El siguiente fragmento de código demuestra cómo aplicar una clasificación a una región de celdas en una hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.sortSettings.sortConditions().addItem(new RelativeIndex(0), new OrderedSortCondition(SortDirection.Ascending));
    

    Worksheet Protection

    Puede proteger una hoja de trabajo llamando al método protect en el objeto worksheet. Este método expone muchos parámetros bool que aceptan valores NULL que le permiten restringir o permitir las siguientes operaciones de usuario:

    • Edición de celdas.
    • Edición de objetos como formas, comentarios, gráficos u otros controles.
    • Edición de escenarios.
    • Filtrado de datos.
    • Formateo de celdas.
    • Insertar, eliminar y formatear columnas.
    • Insertar, eliminar y formatear filas.
    • Inserción de hipervínculos.
    • Clasificación de datos.
    • Uso de tablas dinámicas.

    Puede eliminar la protección de la hoja de trabajo llamando al método unprotect en el objeto worksheet.

    El siguiente fragmento de código muestra cómo habilitar la protección de todas las operaciones de usuario mencionadas anteriormente:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    worksheet.protect();
    

    Worksheet Conditional Formatting

    Puede configurar el formato condicional de un objeto worksheet utilizando los numerosos métodos "Agregar" expuestos en la colección conditionalFormats de esa hoja de trabajo. El primer parámetro de estos métodos "Agregar" es la región de string de la hoja de trabajo a la que le gustaría aplicar el formato condicional.

    Muchos de los formatos condicionales que puede agregar a su hoja de trabajo tienen una propiedad cellFormat que determina la forma en que deben verse los elementos WorksheetCell cuando la condición en ese formato condicional es verdadera. Por ejemplo, puede utilizar las propiedades adjuntas a esta propiedad cellFormat, como fill y font, para determinar la configuración de fondo y fuente de sus celdas bajo un formato condicional particular, respectivamente.

    Hay algunos formatos condicionales que no tienen una propiedad cellFormat, ya que su visualización en la celda de la hoja de cálculo se comporta de manera diferente. Estos formatos condicionales son DataBarConditionalFormat, ColorScaleConditionalFormat e IconSetConditionalFormat.

    Al cargar un workbook preexistente desde Excel, los formatos se conservarán cuando se cargue ese workbook. Lo mismo ocurre cuando guarda el workbook en un archivo de Excel.

    El siguiente ejemplo de código demuestra el uso de formatos condicionales en una hoja de trabajo:

    var workbook = new Workbook(WorkbookFormat.Excel2007);
    var worksheet = workbook.worksheets().add("Sheet1");
    
    var color = new Color();
    color.colorString = "Red";
    
    var format = worksheet.conditionalFormats().addAverageCondition("A1:A10", FormatConditionAboveBelow.AboveAverage);
    format.cellFormat.font.colorInfo = new WorkbookColorInfo(color);
    

    API References