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);