web-dev-qa-db-fra.com

Figer les volets dans Excel à l'aide de C # et EPPlus

Je veux figer les 5 premières colonnes et trois lignes dans Excel. J'ai écrit le code suivant pour ça

Worksheets.View.FreezePanes(5, 5);

mais il fige également les colonnes des 4 premières lignes. Je veux figer les 4 premières colonnes dans Excel, sauf dans les 4 premières lignes. Est-il possible de faire?

28
user2148124

La première valeur correspond au nombre de lignes que vous souhaitez bloquer, et la seconde au nombre de colonnes que vous souhaitez bloquer. Par conséquent, pour figer les 3 premières lignes et 5 colonnes, vous devez l'appeler comme suit:

Worksheets.View.FreezePanes(3, 5);

Vous pouvez également jeter un œil à this SO question pour plus d'informations sur FreezePanes.

45
IronMan84

Pour moi, geler la première ligne suivant le code a fonctionné. Je ne sais pas quelle est la logique là-bas.

 worksheet.View.FreezePanes(2,1);
21
CPW

À partir de l'objet ExcelWorksheet, accédez à la propriété View .

Sur l'objet ExcelWorksheetView renvoyé, appelez la méthode FreezePanes (ligne, colonne), en passant la ligne et la colonne de la première cellule qui n'est PAS figée .

Par exemple, pour figer les deux premiers volets complets de la feuille de calcul Excel, vous devez passer dans la colonne (3,1) au paramètre de ligne:

worksheetObject.View.FreezePanes(3, 1);

Donc, pour Figer uniquement la première ligne complètement vous pouvez maintenant appeler worksheetObject.View.FreezePanes(2,1); uniquement!

C'est également mentionné dans l'exemple officiel d'EPPlus.

Par conséquent, pour répondre à la question initiale posée par @ user2148124, la réponse doit être

worksheetObject.View.FreezePanes(3, 5);
9
vibs2006