Cómo añadir un panel de congelación

por Chaknith Bin

Introducción

En una tabla de hoja de datos grande, puede ser un reto ver los datos en 50+ filas o columnas más allá de la columna 'Z' sin perder de vista las cabeceras correspondientes. La función Congelar panel ofrece una solución inteligente a este problema.


Biblioteca NuGet C# para Excel

Instalar con NuGet

Install-Package IronXL.Excel
o
Java PDF JAR

Descargar DLL

Descargar DLL

Instalar manualmente en su proyecto

Añadir panel de congelación Ejemplo

Congelar paneles es una opción para bloquear filas y columnas en su lugar, permitiendo que permanezcan visibles mientras se desplaza. Es una función muy útil para mantener la columna o fila de cabecera en su sitio mientras se compara información rápidamente.

CreateFreezePane(int columna, int fila)

Para añadir un panel de congelación, utilice el método CreateFreezePane, especificando la columna y la fila desde la que debe comenzar el panel de congelación. La columna y la fila especificadas no se incluyen en el panel de congelación. Por ejemplo, workSheet.CreateFreezePane(1, 4) creará un panel de congelación a partir de columna(A) y fila(1-4).

El siguiente ejemplo de código muestra cómo crear un panel de congelación a partir de las columnas A a B y las filas 1 a 3:

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-add.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

//  Crear panel de congelación a partir de la columna(A-B) y la fila(1-3)
workSheet.CreateFreezePane(2, 3);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

'  Crear panel de congelación a partir de la columna(A-B) y la fila(1-3)
workSheet.CreateFreezePane(2, 3)

workBook.SaveAs("createFreezePanes.xlsx")
VB   C#

Demostración

Panel de congelación en acción

Eliminar el panel de congelación

Utilice el método RemovePane para eliminar rápidamente todos los paneles de congelación existentes en su hoja de cálculo.

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-remove.cs
//  Retirar todos los cristales existentes
workSheet.RemovePane();
'  Retirar todos los cristales existentes
workSheet.RemovePane()
VB   C#

Ejemplo de panel de congelación avanzado

El método CreateFreezePane ofrece una opción avanzada para crear paneles congelados con funcionalidad de pre-desplazamiento.

CreateFreezePane(int columna, int fila, int subsequentColumna, int subsequentFila)

Este método permite añadir un panel de congelación basado en la columna y la fila especificadas, como se muestra en la sección de ejemplos. Además, permite aplicar el desplazamiento a la hoja de cálculo.

Por ejemplo, utilizando workSheet.CreateFreezePane(5, 2, 6, 7), puede crear un panel de congelación que abarque columnas A-E y filas 1-2. Incluye un desplazamiento de 1 columna y 5 filas. Cuando la hoja de cálculo se abre por primera vez, mostrará columnas A-E, G-... y filas 1-2, 8-....

Tenga en cuenta
Sólo se puede aplicar 1 ajuste de panel de congelación. Cualquier creación adicional de panel de congelación sobrescribirá la anterior.

El panel Congelar no funciona con las versiones 97-2003 de Microsoft Excel(.xls).

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-advance.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

//  Sobreescritura de panel congelado o dividido en columna(A-E) y fila(1-5), así como aplicación de predesplazamiento.
//  La columna mostrará E,G,... y la fila mostrará 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

'  Sobreescritura de panel congelado o dividido en columna(A-E) y fila(1-5), así como aplicación de predesplazamiento.
'  La columna mostrará E,G,... y la fila mostrará 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7)

workBook.SaveAs("createFreezePanes.xlsx")
VB   C#

Demostración

Demostración de paneles congelados Advance

Chaknith Bin

Ingeniero de software

Chaknith es el Sherlock Holmes de los desarrolladores. La primera vez que se le ocurrió que podría tener futuro en la ingeniería de software fue cuando hacía retos de código por diversión. Su trabajo se centra en IronXL e IronBarcode, pero se enorgullece de ayudar a los clientes con todos los productos. Chaknith aprovecha sus conocimientos, adquiridos hablando directamente con los clientes, para ayudar a mejorar los propios productos. Sus comentarios anecdóticos van más allá de los tickets de Jira y apoyan el desarrollo de productos, la documentación y el marketing, para mejorar la experiencia general del cliente.Cuando no está en la oficina, se le puede encontrar aprendiendo sobre aprendizaje automático, codificación y senderismo.