IRONSOFTWAREHOME

Jak dodac zamrozenie okienek w Excelu za pomoca C#

Curtis Chau
Curtis Chau
Updated: 4 czerwca 2026

W duzych arkuszach kalkulacyjnych Excel z ponad 50 wierszami lub kolumnami poza 'Z', przeglądanie danych przy jednoczesnym widocznosci nagłówków staje sie wyzwaniem. Funkcja zamrozenia okienek w C# zapewnia eleganckie rozwiązanie poprzez blokowanie okreslonych wierszy i kolumn na miejscu, umożliwiajac pozostalym swobodne przewijanie.

Ta funkcja staje sie niezbędna podczas pracy z raportami finansowymi, bazami danych pracownikow lub listami inwentarzy, gdzie potrzebujesz stalej widocznosci nagłówków kolumn lub identyfikatorow wierszy. Dzięki bibliotece IronXL.Excel można programowo dodawać zamrożone okienka, aby usprawnić nawigację po danych i poprawić komfort użytkowania aplikacji .NET.

Szybki start: Zablokuj wiersze i kolumny nagłówka w jednym wierszu

Użyj prostej metody CreateFreezePane(colSplit, rowSplit), aby zamrozić wiersze lub kolumny w kilka sekund. Bez skomplikowanej konfiguracji — wystarczy załadować arkusz, wywołać tę metodę, a nagłówki pozostaną zablokowane u góry podczas przewijania.

  1. 1Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. 2Skopiuj i uruchom ten fragment kodu.

    workSheet.CreateFreezePane(1, 4);
    C#
  3. 3Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
    arrow pointer

Jak dodać opcję "Zablokuj okienko" w programie Excel?

Funkcja "Freeze panes" blokuje wiersze i kolumny, dzięki czemu pozostają one widoczne podczas przewijania. Ta funkcja utrzymuje kolumny lub wiersze nagłówków na miejscu, umożliwiając szybkie porównywanie informacji. Ta funkcja jest szczególnie przydatna podczas pracy z dużymi zbiorami danych lub gdy trzeba zachować kontekst podczas przeglądania rozbudowanych arkuszy kalkulacyjnych.

Funkcja zamrożenia okienka w IronXL naśladuje natywną funkcjonalność programu Excel, dzięki czemu jest intuicyjna dla programistów zaznajomionych z interfejsem Excela. W przeciwieństwie do rozwiązań Excel Interop, IronXL zapewnia bardziej wydajne i przyjazne dla serwera podejście do programowego wdrażania funkcji zamrażania okienek.

Jak działa CreateFreezePane z 2 parametrami?

Aby dodać zamrożenie panelu, użyj metody CreateFreezePane, określając kolumnę i wiersz, od którego powinno się rozpocząć zamrożenie panelu. Określona kolumna i wiersz nie są uwzględnione w zamrożonym panelu. Na przykład, workSheet.CreateFreezePane(1, 4) tworzy zamrożenie panelu zaczynające się od column A i rows 1 to 4.

Kluczowe znaczenie ma zrozumienie indeksowania od zera: kolumna 0 odnosi się do kolumny A, kolumna 1 do B i tak dalej. Indeksowanie wierszy odbywa się według tego samego schematu. Ta metoda jest idealna w sytuacjach, w których chcesz, aby nagłówki były widoczne podczas przewijania wpisów danych.

Poniższy przykład kodu pokazuje, jak utworzyć zamrożony panel, zaczynając od kolumny B i wiersza 4:

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");

Jak wygląda funkcja "Freeze Pane" w praktyce?

Blokowanie okienek w akcji

Jak usunąć zamrożony panel?

Użyj metody RemovePane, aby usunąć wszystkie istniejące zamrożenia paneli z arkusza kalkulacyjnego. Jest to przydatne, gdy trzeba zresetować widok lub zastosować inne ustawienia zamrożenia w oparciu o preferencje użytkownika lub zmiany danych.

// Remove all existing freeze or split pane
workSheet.RemovePane();

Jakie są zaawansowane opcje zamrażania okienek?

Metoda CreateFreezePane oferuje zaawansowaną opcję tworzenia zamrożeń paneli z funkcjonalnością przewijania. Ta funkcja jest przydatna, gdy chcesz skupić uwagę na konkretnym obszarze arkusza kalkulacyjnego, zachowując jednocześnie funkcjonalność zamrożonych okienek.

Kiedy należy używać 4 parametrów w zaawansowanym zamrażaniu okienek?

Ta metoda pozwala na dodanie zamrożonego panelu na podstawie określonej kolumny i wiersza początkowego. Dodatkowo umożliwia to zastosowanie przewijania w arkuszu. Jest to szczególnie przydatne podczas pracy z sformatowanymi raportami Excel, gdzie potrzebna jest precyzyjna kontrola nad początkowym widokiem.

Na przykład, użycie workSheet.CreateFreezePane(5, 2, 6, 7) tworzy zamrożenie panelu, które rozciąga się od columns A-E i rows 1-2. Zawiera przewijanie w 1 kolumnie i 5 wierszach. Po otwarciu arkusza wyświetla on columns A-E, G-... i rows 1-2, 8-....

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");

Jak wygląda funkcja "Advanced Freeze Pane"?

Demonstracja funkcji zamrażania okienek w programie Excel, pokazująca dane pracowników z zamrożonymi nagłówkami i kolumną ID; niebieska strzałka wskazuje granicę zamrożenia

Praktyczne przykłady zastosowania funkcji Freeze Panes

Zablokowane okienka są nieocenione w różnych sytuacjach biznesowych:

  1. Raporty finansowe: Zachowaj widoczność nagłówków miesięcy/kwartałów podczas przewijania danych rocznych
  2. Bazy danych pracowników: Blokowanie nazwisk i identyfikatorów pracowników podczas przeglądania wskaźników wydajności
  3. Zarządzanie zapasami: Poprawianie kodów i nazw produktów podczas sprawdzania stanów magazynowych
  4. Pulpity sprzedażowe: Zachowaj widoczność kategorii produktów podczas analizowania regionalnych danych dotyczących sprzedaży

W połączeniu z formułami programu Excel funkcja zamrażania okienek znacznie zwiększa wydajność analizy danych.

Pełny przykład: Tworzenie raportu danych z zamrożonymi okienkami

Oto obszerny przykład pokazujący, jak utworzyć sformatowany raport z zamrożonymi okienkami:

using IronXL;
using IronXL.Styles;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Sales Report");

// Add headers
workSheet["A1"].Value = "Product ID";
workSheet["B1"].Value = "Product Name";
workSheet["C1"].Value = "Q1 Sales";
workSheet["D1"].Value = "Q2 Sales";
workSheet["E1"].Value = "Q3 Sales";
workSheet["F1"].Value = "Q4 Sales";
workSheet["G1"].Value = "Total";

// Style headers
var headerRange = workSheet["A1:G1"];
headerRange.Style.Font.Bold = true;
headerRange.Style.BackgroundColor = "#4472C4";
headerRange.Style.Font.Color = "#FFFFFF";

// Add sample data
for (int i = 2; i <= 50; i++)
{
    workSheet[$"A{i}"].Value = $"P{i-1:D3}";
    workSheet[$"B{i}"].Value = $"Product {i-1}";
    workSheet[$"C{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"D{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"E{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"F{i}"].Value = Random.Shared.Next(1000, 5000);
    workSheet[$"G{i}"].Formula = $"=SUM(C{i}:F{i})";
}

// Apply freeze pane to keep headers visible
workSheet.CreateFreezePane(0, 1);

// Auto-size columns for better visibility
for (int col = 0; col <= 6; col++)
{
    workSheet.AutoSizeColumn(col);
}

// Save the workbook
workBook.SaveAs("SalesReportWithFreezePanes.xlsx");
C#

Ten przykład pokazuje, jak zamrożone okienka współpracują ze stylami komórek i formułami w celu tworzenia profesjonalnych raportów. Wiersz nagłówka pozostaje widoczny, gdy użytkownicy przewijają 50 wierszy danych dotyczących sprzedaży.

Kwestie związane z wydajnością

Podczas wdrażania funkcji zamrażania okienek w dużych arkuszach kalkulacyjnych:

  • Aby uzyskać optymalną wydajność, po wprowadzeniu danych należy zablokować okna
  • Rozważ użycie formatowania warunkowego w celu wyróżnienia ważnych danych w sekcjach zamrożonych
  • Przetestuj z docelową ilością danych, aby zapewnić płynne przewijanie

W przypadku aplikacji obsługujących obszerne zbiory danych warto rozważyć eksport do różnych formatów lub wdrożenie strategii paginacji wraz z zamrożeniem paneli.

Zwróć uwagę: Można zastosować tylko jedno ustawienie zamrożenia okna. Każde dodatkowe utworzenie zamrożonego panelu spowoduje nadpisanie poprzedniego. Funkcja "Zablokuj okienko" nie działa w programie Microsoft Excel w wersjach 97–2003 (.xls).

Często Zadawane Pytania

Czym jest funkcja blokady i dlaczego jest przydatna w arkuszach kalkulacyjnych Excel?

Funkcja blokady utrzymuje w miejscu określone wiersze i kolumny, umożliwiając ich widoczność podczas przewijania dużych arkuszy kalkulacyjnych. Jest to szczególnie przydatne do utrzymania widoczności nagłówków w raportach finansowych, bazach danych pracowników lub listach inwentarza. IronXL udostępnia prostą metodę CreateFreezePane do implementacji tej funkcji programowo w aplikacjach C#.

Jak szybko dodać blokady, aby zablokować wiersze nagłówków w C#?

Dzięki IronXL można zablokować wiersze nagłówków w zaledwie jednej linii kodu przy użyciu metody CreateFreezePane. Wystarczy wywołać workSheet.CreateFreezePane(1, 4), aby zamrozić kolumny i wiersze. To blokuje kolumnę A i wiersze 1-4, jednocześnie umożliwiając swobodne przewijanie reszty arkusza.

Jaka jest różnica między użyciem 2 parametrów a 4 z CreateFreezePane?

Metoda CreateFreezePane w IronXL oferuje dwie opcje: użycie 2 parametrów (colSplit, rowSplit) tworzy podstawową blokadę od określonej pozycji, podczas gdy użycie 4 parametrów pozwala na dodanie blokad z wcześniej ustawionym pozycjonowaniem dla bardziej zaawansowanej kontroli nad obszarem widokowym.

Jak działa indeksowanie od zera przy ustawianiu blokad?

W metodzie CreateFreezePane IronXL, indeksowanie jest od zera. Kolumna 0 odnosi się do kolumny A, kolumna 1 do kolumny B i tak dalej. Podobnie, indeksowanie wierszy zaczyna się od 0. Na przykład, CreateFreezePane(1, 4) tworzy blokadę początkującą od kolumny A i obejmującą wiersze 1 do 4.

Dlaczego powinienem używać tej biblioteki zamiast Excel Interop do blokad?

IronXL zapewnia bardziej wydajne i przyjazne dla serwera podejście w porównaniu do rozwiązań Excel Interop. Nie wymaga zainstalowanego Excela na serwerze, oferuje lepszą wydajność dla dużych zestawów danych i zapewnia intuicyjne API, które imituje natywną funkcjonalność Excela, jednocześnie będąc zoptymalizowane dla aplikacji .NET.

Czy mogę eksportować arkusze z blokadami do różnych formatów plików?

Tak, po dodaniu blokad przy użyciu metody CreateFreezePane IronXL, można eksportować swój arkusz do różnych formatów plików, zachowując funkcjonalność blokady. Biblioteka zachowuje te ustawienia podczas zapisywania do obsługiwanych formatów Excela.

Can I programmatically set freeze panes to display specific data areas?

Yes, you can set freeze panes and use pre-scrolling functionality to focus on specific areas of your spreadsheet when it opens.

Are there any compatibility considerations when using freeze panes in IronXL?

IronXL's freeze pane functionality does not work with Microsoft Excel versions 97-2003 (.xls) and only one freeze pane setting can be applied at a time, which will overwrite the previous one.

What coding languages are compatible with IronXL for adding freeze panes?

IronXL is designed for use within C# .NET applications, allowing developers to integrate Excel functionalities programmatically in this environment.

How does IronXL differ from Excel Interop for adding freeze panes?

IronXL provides a more efficient, server-friendly approach to implementing freeze panes compared to Excel Interop solutions, making it ideal for high-performance applications.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 2,237,574Wersja:2026.9właśnie wydany

Odbierz swój BEZPŁATNY

30-dniowy klucz próbny natychmiast.

bullet_checkedNie wymaga karty kredytowej ani tworzenia konta
test_punktorówTestuj w produkcji
bez znaków wodnych
kalendarz_punktorów30 dni w pełni
funkcjonalny produkt
wsparcie_punktorów24/5 wsparcie techniczne
w trakcie okresu próbnego
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronXL.Excel
nuget.org/packages/IronXL.Excel/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronXL"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronXL do lokalizacji, takie jak ~/Libs w katalogu rozwiązania
  2. W Eksploratorze Rozwiązań Visual Studio kliknij prawym przyciskiem Myszy na Odwołania, wybierz Przeglądaj, "IronXL.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta