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?

18
demandé sur IronMan84 2015-01-21 09:58:51

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.

28
répondu IronMan84 2017-05-23 11:33:27

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);
16
répondu CPW 2015-12-23 09:24:49

à 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);
4
répondu vibs2006 2017-05-17 10:14:08

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);
        }
    }
}
-4
répondu Karthikeyan P 2015-11-02 12:21:49