filas - Congele los paneles en Excel usando C#y EPPlus
load excel epplus (4)
Desde el objeto ExcelWorksheet, acceda a la propiedad Ver .
En el objeto ExcelWorksheetView devuelto, llame al método FreezePanes (fila, columna) , pasando la fila y la columna de la primera celda que NO está congelada .
Por ejemplo, para congelar los primeros dos paneles completos de la hoja de cálculo de Excel, deberá pasar la columna (3,1) al parámetro de la fila:
worksheetObject.View.FreezePanes(3, 1);
Entonces, para congelar completamente la primera fila completamente , ahora puede llamar a la worksheetObject.View.FreezePanes(2,1);
¡solamente!
Esto también se menciona en el Ejemplo oficial de EPPlus.
Por lo tanto, para responder a la pregunta original planteada por @ user2148124, la respuesta debe ser
worksheetObject.View.FreezePanes(3, 5);
Quiero congelar las primeras 5 columnas y tres filas en Excel. He escrito el siguiente código para eso
Worksheets.View.FreezePanes(5, 5);
pero también congela columnas en las primeras 4 filas. Quiero congelar las primeras 4 columnas en Excel excepto en las primeras 4 filas. Es posible de hacer?
El primer valor es para cuántas filas desea congelar, y el segundo es para cuántas columnas desea congelar. Por lo tanto, para congelar las primeras 3 filas y 5 columnas, deberá llamarlo así:
Worksheets.View.FreezePanes(3, 5);
También puede consultar esta pregunta SO para obtener más información sobre FreezePanes
.
Para mí congelar la primera fila siguiente código funcionó. No estoy seguro de qué es la lógica allí.
worksheet.View.FreezePanes(2,1);
Puede invocar el método sheet.FreezePanes (int rowIndex, int columnIndex) para configurar el área de congelación.
Ejemplo de código:
using System;
using Spire.Xls;
using System.Drawing;
namespace FreezePane
{
class Program
{
static void Main(string[] args)
{
//Load File
Workbook workbook = new Workbook();
workbook.LoadFromFile
(@"E:/Work/Documents/ExcelFiles/UserInfo.xlsx");
Worksheet sheet = workbook.Worksheets[0];
//Freeze Top Row
sheet.FreezePanes(2, 1);
//Save and Launch
workbook.SaveToFile("FreezePane.xlsx", ExcelVersion.Version2010);
System.Diagnostics.Process.Start(workbook.FileName);
}
}
}