Congeler les panneaux dans Excel en utilisant C# et EPPlus
je veux geler les 5 premières colonnes et trois lignes dans excel. J'ai écrit le code suivant pour que
Worksheets.View.FreezePanes(5, 5);
mais il gèle des colonnes dans les 4 premières lignes. J'ai envie de geler 4 premières colonnes dans excel, sauf dans les 4 premières lignes. Est-il possible de le faire?
4 réponses
La première valeur est le nombre de lignes que vous souhaitez figer, et la seconde est pour le nombre de colonnes que vous souhaitez figer. Par conséquent, de geler les 3 premières lignes et 5 colonnes, vous devez appeler le code suivant:
Worksheets.View.FreezePanes(3, 5);
Vous pouvez aussi jeter un oeil à ce DONC, la question pour plus d'informations sur FreezePanes
.
Pour moi, de figer la première ligne de code suivante travaillé. Je ne suis pas sûr de ce qui est logique.
worksheet.View.FreezePanes(2,1);
à partir de L'objet ExcelWorksheet, accédez au View propriété.
sur L'objet ExcelWorksheetView retourné, appelez propriété freezepanes peut la propriété(ligne, colonne) méthode en passant la ligne et la colonne de la première cellule qui N'est pas congelée.
par exemple, pour geler les deux premières parties de la feuille de travail Excel, vous devez passer dans la colonne (3,1) à la ligne paramètre:
worksheetObject.View.FreezePanes(3, 1);
ne congelez que la première rangée complètement vous pouvez maintenant appeler worksheetObject.View.FreezePanes(2,1);
seulement!
C'est également mentionné dans l'exemple officiel D'EPPlus.
par conséquent, pour répondre à la question originale soulevée par @user2148124, la réponse devrait être
worksheetObject.View.FreezePanes(3, 5);
Vous pouvez invoquer feuille.FreezePanes (int rowIndex, int columnIndex) méthode pour régler la zone de congélation.
Exemple De Code:
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);
}
}
}