Cómo crear un archivo de Excel en C#

Cómo agregar un panel inmovilizado en Excel con C

This article was translated from English: Does it need improvement?
Translated
View the article in English

En una hoja de cálculo grande, puede ser un desafío ver los datos en 50+ filas o columnas más allá de la columna 'Z' mientras se mantienen las cabeceras correspondientes visibles. La funcionalidad de panel congelado proporciona una solución ingeniosa a este problema.

como-título:2(Inicio rápido: Bloquear filas y columnas de encabezado en una línea)

Utilice el sencillo método CreateFreezePane(colSplit, rowSplit) para congelar filas o columnas en segundos. Sin complicaciones de configuración: solo carga tu hoja, llama a este método, y tus cabeceras permanecerán fijas en la parte superior mientras desplazas.

Nuget IconEmpieza a crear PDF con NuGet ahora:

  1. Instalar IronXL con el gestor de paquetes NuGet

    PM > Install-Package IronXL.Excel

  2. Copie y ejecute este fragmento de código.

    workSheet.CreateFreezePane(1, 4);
  3. Despliegue para probar en su entorno real

    Empieza a utilizar IronXL en tu proyecto hoy mismo con una prueba gratuita
    arrow pointer


Ejemplo de agregar panel congelado

Los paneles congelados son una opción para bloquear filas y columnas en su lugar, permitiéndoles permanecer visibles mientras se desplaza. Es una característica muy útil para mantener la columna o fila de encabezado en su lugar mientras se compara rápidamente la información.

CreateFreezePane(int columna, int fila)

Para añadir un panel congelado, use el método CreateFreezePane, especificando la columna y fila desde las cuales el panel congelado debe comenzar. La columna y fila especificadas no se incluyen en el panel congelado. Por ejemplo, workSheet.CreateFreezePane(1, 4) creará un panel congelado comenzando desde la columna A y filas 1 a 4.

El siguiente ejemplo de código demuestra cómo crear un panel congelado comenzando desde la columna B y fila 4:

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

// Create freeze pane from column(A-B) and row(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()

' Create freeze pane from column(A-B) and row(1-3)
workSheet.CreateFreezePane(2, 3)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

Demostración

Freeze Pane in Action

Quitar el panel de congelación

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

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-remove.cs
// Remove all existing freeze or split pane
workSheet.RemovePane();
' Remove all existing freeze or split pane
workSheet.RemovePane()
$vbLabelText   $csharpLabel

Ejemplo de panel de congelación avanzado

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

CreateFreezePane(int column, int row, int subsequentColumn, int subsequentRow)

Este método le permite añadir un panel congelado basado en la columna y fila de inicio especificadas. Además, le permite aplicar desplazamiento a la hoja de trabajo.

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

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

// Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
// The column will show E,G,... and the row will show 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()

' Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
' The column will show E,G,... and the row will show 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

Demostración

Demostración avanzada de congelación de paneles

Por favor notaSolo se puede aplicar 1 configuración de panel congelado. Cualquier creación adicional de panel congelado sobrescribirá al anterior. El panel inmovilizado no funciona con las versiones 97-2003(.xls) de Microsoft Excel.

Preguntas Frecuentes

¿Cómo agrego un panel inmovilizado a una hoja de cálculo usando C#?

Para agregar un panel inmovilizado a una hoja de cálculo en C#, use el método CreateFreezePane de IronXL. Especifique la columna y fila de inicio, como workSheet.CreateFreezePane(1, 4), que bloquea las filas 1 a 4 y la columna A.

¿Cuál es el propósito de usar paneles inmovilizados en Excel?

Los paneles inmovilizados se utilizan para bloquear filas o columnas específicas en su lugar, permitiendo que permanezcan visibles mientras se desplaza por otras partes de la hoja de cálculo. Esto es particularmente útil para mantener visibles los encabezados o datos clave al navegar por conjuntos de datos grandes.

¿Cómo puedo eliminar los paneles inmovilizados de una hoja de cálculo automáticamente?

Para eliminar los paneles inmovilizados automáticamente usando IronXL, utilice el método RemovePane, que elimina todos los paneles inmovilizados existentes de la hoja de cálculo.

¿Se pueden aplicar paneles inmovilizados a formatos de archivo antiguos de Excel?

No, los paneles inmovilizados creados usando IronXL no funcionan con los formatos de archivo de Microsoft Excel de las versiones 97-2003 (.xls).

¿Es posible crear múltiples paneles inmovilizados en una sola hoja de trabajo?

No, solo se puede aplicar un panel inmovilizado a la vez en una hoja de trabajo. Cualquier nueva creación de panel inmovilizado sobrescribirá la anterior.

¿Cómo puedo crear un panel inmovilizado con funcionalidad de predisposición?

IronXL le permite crear un panel inmovilizado con predisposición utilizando el método CreateFreezePane con cuatro parámetros. Por ejemplo, workSheet.CreateFreezePane(5, 2, 6, 7) crea un panel inmovilizado que comienza desde las columnas A-E y las filas 1-2, con un desplazamiento que comienza desde la columna G y la fila 8 al abrir la hoja de cálculo.

¿A qué formatos de archivo se puede exportar después de agregar paneles inmovilizados?

Después de agregar paneles inmovilizados usando IronXL, puede exportar su hoja de cálculo a varios formatos de archivo, como XLSX, CSV y más, usando las funcionalidades de exportación de IronXL.

¿Cómo instalo la biblioteca necesaria para usar paneles inmovilizados en C#?

Debe instalar la biblioteca IronXL desde NuGet para usar la funcionalidad de panel inmovilizado en C#. Visite el sitio web de NuGet y busque IronXL.Excel para descargarla e instalarla.

Chaknith Bin
Ingeniero de Software
Chaknith trabaja en IronXL e IronBarcode. Tiene un profundo conocimiento en C# y .NET, ayudando a mejorar el software y apoyar a los clientes. Sus conocimientos derivados de las interacciones con los usuarios contribuyen a mejores productos, documentación y experiencia en general.
¿Listo para empezar?
Nuget Descargas 1,738,553 | Version: 2025.11 recién lanzado