Przejdź do treści stopki
KORZYSTANIE Z IRONXL

VB.NET Excel Zamrozić pierwszą wiersz: Utrzymaj widoczność nagłówków podczas przewijania

Podczas pracy z dużymi dokumentami Excel zawierającymi setki wierszy utrzymanie widoczności wiersza nagłówkowego podczas przewijania danych może stanowić wyzwanie. Funkcja zamrażania górnego wiersza w VB.NET Excel rozwiązuje ten problem poprzez zablokowanie określonych wierszy i kolumn. W tym artykułe pokazano, jak używać IronXL do programowego tworzenia zamrożonych okienek w aplikacjach .NET, co pomaga użytkownikom szybko i łatwo poruszać się po danych arkusza kalkulacyjnego.

Biblioteka IronXL .NET pozwala na odczyt, zapis i manipulowanie plikami Excel bez konieczności instalowania pakietu Microsoft Office na serwerze. Metoda CreateFreezePane obiektu WorkSheet to wszystko, czego potrzebujesz, aby zablokować wiersze i kolumny w dowolnym pliku Excel, który Twoja aplikacja tworzy lub modyfikuje.

Zacznij od bezpłatnej wersji próbnej, aby śledzić poniższe przykłady kodu.

Jak zainstalować IronXL for .NET?

Przed napisaniem jakiegokolwiek kodu w oknie zamrożonym dodaj IronXL do swojego projektu za pomocą menedżera pakietów NuGet. Otwórz terminal i uruchom:

dotnet add package IronXl.Excel
dotnet add package IronXl.Excel
SHELL

Alternatywnie można użyć konsoli menedżera pakietów Visual Studio:

Install-Package IronXl.Excel
Install-Package IronXl.Excel
SHELL

Po instalacji dodaj przestrzeń nazw IronXL na początku pliku. IronXL jest przeznaczony dla platformy .NET 10 i obsługuje wszystkie główne platformy — Windows, Linux i macOS — dzięki czemu logika zamrożonych paneli działa tak samo niezależnie od miejsca wdrożenia.

Po zainstalowaniu można załadować istniejące skoroszyty lub utworzyć nowe za pomocą zaledwie kilku wierszy kodu. Biblioteka obsługuje zarówno format .xlsx (Excel 2007 i nowsze), jak i .xls (Excel 97-2003), chociaż obsługa funkcji zamrożenia okienka wymaga nowoczesnego formatu .xlsx. Poniższa tabela zawiera podsumowanie kluczowych metod WorkSheet omówionych w niniejszym przewodniku.

Metody zamrażania okienek w IronXL
Metoda Parametry Opis
CreateFreezePane(col, row) int col, int row Zablokowuje określoną liczbę kolumn i wierszy, licząc od lewego górnego rogu.
CreateFreezePane(col, row, leftmostCol, topRow) int col, int row, int leftmostCol, int topRow Blokuje kolumny i wiersze z wstępnie przewiniętą pozycją początkową dla panelu przewijania.
RemovePane() none Usuwa wszelkie istniejące zamrożone lub podzielone okienka z arkusza.

Jak zablokować wiersze w pliku Excel?

Odpowiedź jest prosta: użyj metody CreateFreezePane na obiekcie arkusza. Ta metoda przyjmuje parametry, które kontrolują, które wiersze i kolumny pozostają widoczne, podczas gdy reszta arkusza Excel przewija się swobodnie. Po zablokowaniu pierwszego wiersza nagłówek pozostaje zablokowany u góry, niezależnie od tego, jak daleko przewiniesz dane, podobnie jak w przypadku natywnej funkcji "Zablokuj okienka" programu Excel.

Poniższy fragment kodu pokazuje, jak załadować istniejący dokument Excel i zablokować górny wiersz:

using IronXL;
using System.Linq;

// Load an existing workbook from file
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Freeze the first row to keep headers visible
workSheet.CreateFreezePane(0, 1);

// Save the Excel file with freeze panes applied
workBook.SaveAs("financial_report_Frozen.xlsx");
using IronXL;
using System.Linq;

// Load an existing workbook from file
WorkBook workBook = WorkBook.Load("financial_report.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Freeze the first row to keep headers visible
workSheet.CreateFreezePane(0, 1);

// Save the Excel file with freeze panes applied
workBook.SaveAs("financial_report_Frozen.xlsx");
Imports IronXL
Imports System.Linq

' Load an existing workbook from file
Dim workBook As WorkBook = WorkBook.Load("financial_report.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()

' Freeze the first row to keep headers visible
workSheet.CreateFreezePane(0, 1)

' Save the Excel file with freeze panes applied
workBook.SaveAs("financial_report_Frozen.xlsx")
$vbLabelText   $csharpLabel

Wynik

VB .NET Excel Freeze Top Row: Utrzymaj nagłówki widoczne podczas przewijania: Obraz 1 — plik Excel z zamrożonym pierwszym wierszem

Wywołanie metody CreateFreezePane(0, 1) zamraża zero kolumn i jeden wiersz. Dzięki temu górny wiersz pozostaje widoczny, a wszystkie kolumny można przewijać w lewo i w prawo. Parametry określają, które wiersze i kolumny znajdują się powyżej i po lewej stronie obszaru przewijania. Dzięki temu prostemu podejściu użytkownicy mogą porównać swoje dane z etykietami nagłówków bez utraty orientacji w obszernych dokumentach.

Metoda ta wykorzystuje liczenie kolumn od zera, a wierszy od jednego, co odpowiada wewnętrznemu formatowi plików Excel. Przekazanie 0 jako parametru kolumny oznacza, że żadna kolumna nie jest zamrożona — zablokowany zostaje tylko wskazany wiersz.

Jak zablokować pierwszą kolumnę w programie Excel?

Aby zablokować pierwszą kolumnę zamiast wierszy, dostosuj parametry w metodzie CreateFreezePane. Jest to przydatne, gdy arkusz kalkulacyjny Excel zawiera informacje identyfikacyjne w kolumnie A, które chcesz zachować jako widoczne podczas przewijania dodatkowych kolumn w prawo.

Poniższy fragment kodu pokazuje, jak utworzyć nowy skoroszyt i zablokować pierwszą kolumnę:

using IronXL;

// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("SalesData");

// Add sample header and data to the range
workSheet["A1"].Value = "Product ID";
workSheet["B1"].Value = "Q1 Sales";
workSheet["C1"].Value = "Q2 Sales";
workSheet["D1"].Value = "Q3 Sales";
workSheet["E1"].Value = "Q4 Sales";

// Populate a few rows of sample data
workSheet["A2"].Value = "PROD-001";
workSheet["B2"].Value = 14500;
workSheet["A3"].Value = "PROD-002";
workSheet["B3"].Value = 21300;

// Freeze the first column to keep Product IDs visible
workSheet.CreateFreezePane(1, 0);

// Save as xlsx file
workBook.SaveAs("SalesReport.xlsx");
using IronXL;

// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("SalesData");

// Add sample header and data to the range
workSheet["A1"].Value = "Product ID";
workSheet["B1"].Value = "Q1 Sales";
workSheet["C1"].Value = "Q2 Sales";
workSheet["D1"].Value = "Q3 Sales";
workSheet["E1"].Value = "Q4 Sales";

// Populate a few rows of sample data
workSheet["A2"].Value = "PROD-001";
workSheet["B2"].Value = 14500;
workSheet["A3"].Value = "PROD-002";
workSheet["B3"].Value = 21300;

// Freeze the first column to keep Product IDs visible
workSheet.CreateFreezePane(1, 0);

// Save as xlsx file
workBook.SaveAs("SalesReport.xlsx");
Imports IronXL

' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("SalesData")

' Add sample header and data to the range
workSheet("A1").Value = "Product ID"
workSheet("B1").Value = "Q1 Sales"
workSheet("C1").Value = "Q2 Sales"
workSheet("D1").Value = "Q3 Sales"
workSheet("E1").Value = "Q4 Sales"

' Populate a few rows of sample data
workSheet("A2").Value = "PROD-001"
workSheet("B2").Value = 14500
workSheet("A3").Value = "PROD-002"
workSheet("B3").Value = 21300

' Freeze the first column to keep Product IDs visible
workSheet.CreateFreezePane(1, 0)

' Save as xlsx file
workBook.SaveAs("SalesReport.xlsx")
$vbLabelText   $csharpLabel

Wynik

VB .NET Excel Freeze Top Row: Keep Headers Visible While Scrolling: Obraz 2 – plik Excel z zamrożoną pierwszą kolumną

W tym przypadku CreateFreezePane(1, 0) zamraża jedną kolumnę i zero wierszy. Pierwsza kolumna pozostaje zablokowana po lewej stronie strony, podczas gdy użytkownicy przewijają ją w poziomie, aby przeczytać dodatkowe dane w komórkach. Jest to szczególnie przydatne w przypadku raportów finansowych lub list magazynowych, gdzie kody produktów muszą pozostawać widoczne podczas przeglądania podziałów kwartalnych lub kolumn atrybutów.

Możesz rozszerzyć ten wzorzec, aby zamrozić wiele kolumn. Na przykład przekazanie 2 jako pierwszego argumentu blokuje dwie skrajne lewe kolumny, zapewniając użytkownikom szerszą kotwicę podczas poruszania się po szerokich arkuszach kalkulacyjnych. Technika ta sprawdza się dobrze w połączeniu z zaznaczaniem zakresu komórek, gdy konieczne jest przedstawienie porównań danych.

Jak zablokować jednocześnie zarówno wiersze, jak i kolumny?

W przypadku aplikacji obsługujących złożone dokumenty Excel może zaistnieć potrzeba zablokowania okienek, co spowoduje zablokowanie jednocześnie górnego wiersza i pierwszej kolumny. Dzięki temu etykiety nagłówków i identyfikatory wierszy pozostają widoczne niezależnie od kierunku przewijania, co ułatwia zrozumieniuiuiuiuie i filtrowanie danych w komórkach.

using IronXL;

// Load workbook or create a new one
WorkBook workBook = WorkBook.Load("Inventory.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Freeze first row AND first column simultaneously
workSheet.CreateFreezePane(1, 1);

// Save the document
workBook.SaveAs("Inventory_Frozen.xlsx");
using IronXL;

// Load workbook or create a new one
WorkBook workBook = WorkBook.Load("Inventory.xlsx");
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Freeze first row AND first column simultaneously
workSheet.CreateFreezePane(1, 1);

// Save the document
workBook.SaveAs("Inventory_Frozen.xlsx");
Imports IronXL

' Load workbook or create a new one
Dim workBook As WorkBook = WorkBook.Load("Inventory.xlsx")
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

' Freeze first row AND first column simultaneously
workSheet.CreateFreezePane(1, 1)

' Save the document
workBook.SaveAs("Inventory_Frozen.xlsx")
$vbLabelText   $csharpLabel

Wynik

VB .NET Excel Freeze Top Row: Keep Headers Visible While Scrolling: Obraz 3 – Plik Excel z zamrożonym pierwszym wierszem i kolumną

Wywołanie CreateFreezePane(1, 1) ustawia zamrożenie okienek w celu zablokowania jednej kolumny i jednego wiersza. Po otwarciu tego pliku w programie Excel przewijanie w dowolnym kierunku powoduje, że wiersz nagłówka i kolumna ID pozostają widoczne na stronie. Odpowiada to na częste pytanie, które zadają sobie programiści podczas tworzenia aplikacji do raportowania, wyświetlających dane tabelaryczne w wielu wierszach i kolumnach.

Ta konfiguracja jest powszechna w zarządzaniu zapasami, raportowaniu kadrowym i pulpitach finansowych, gdzie nawigacja pionowa i pozioma jest rutynowa. Można to połączyć z formatowaniem komórek — pogrubionymi nagłówkami, kolorami tła — tak, aby zamrożony obszar wyróżniał się wizualnie od obszaru przewijania.

Jak korzystać z metody zaawansowanego zamrażania okienek z funkcją wstępnego przewijania?

IronXL oferuje zaawansowaną opcję wykorzystującą cztery parametry, która pozwala dodawać zamrożone okienka z wstępnie przewiniętą pozycją początkową. Kontroluje to nie tylko, które wiersze i kolumny są zablokowane, ale także miejsce, w którym zaczyna się obszar przewijania, gdy użytkownicy po raz pierwszy otwierają plik.

Jest to przydatne w przypadku pulpitów nawigacyjnych lub raportów dla kadry kierowniczej, gdzie chcesz, aby początkowy widok skupiał się na konkretnej sekcji danych — na przykład, pokazując od razu dane z bieżącego miesiąca, przy jednoczesnym zachowaniu widoczności zamrożonego wiersza nagłówkowego i kolumny ID.

using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("LargeDataset.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Freeze columns A-B and rows 1-3
// Pre-scroll so the scrolling pane starts at row 8
workSheet.CreateFreezePane(2, 3, 2, 7);

workBook.SaveAs("LargeDataset_Configured.xlsx");
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("LargeDataset.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Freeze columns A-B and rows 1-3
// Pre-scroll so the scrolling pane starts at row 8
workSheet.CreateFreezePane(2, 3, 2, 7);

workBook.SaveAs("LargeDataset_Configured.xlsx");
Imports IronXL
Imports System.Linq

Dim workBook As WorkBook = WorkBook.Load("LargeDataset.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()

' Freeze columns A-B and rows 1-3
' Pre-scroll so the scrolling pane starts at row 8
workSheet.CreateFreezePane(2, 3, 2, 7)

workBook.SaveAs("LargeDataset_Configured.xlsx")
$vbLabelText   $csharpLabel

Wynik

VB .NET Excel Freeze Top Row: Utrzymaj nagłówki widoczne podczas przewijania: Obraz 4 - Zaawansowany plik wyjściowy Excel

Dodatkowe parametry określają miejsce, w którym rozpoczyna się podzielony widok. W tym przykładzie po otwarciu skoroszytu wiersze 1–3 pozostają zamrożone u góry, a sekcja przewijania zaczyna się od wiersza 8. Trzeci parametr (leftmostCol) określa, od której kolumny zaczyna się prawy panel przewijania, a czwarty parametr (topRow) określa pierwszy wiersz widoczny w dolnym panelu przewijania.

Należy pamiętać, że w każdym arkuszu może istnieć tylko jedna konfiguracja zamrożonych okienek — każde kolejne wywołanie nadpisuje poprzednie ustawienie. Jeśli chcesz dynamicznie zmienić konfigurację zamrożenia, najpierw wywołaj RemovePane(), a następnie CreateFreezePane z nowymi parametrami.

Jak usunąć zamrożone okienka z arkusza?

Jeśli istnieją już zamrożone okienka i chcesz je usunąć, metoda RemovePane pozwala to zrobić w przejrzysty sposób. Jest to pomocne, gdy trzeba zainstalować inną konfigurację zamrożenia lub przywrócić normalne przewijanie arkusza.

// Remove all existing freeze or split panes
workSheet.RemovePane();
// Remove all existing freeze or split panes
workSheet.RemovePane();
$vbLabelText   $csharpLabel

Ta pojedyncza linia usuwa wszystkie zablokowane okienka w arkuszu, co pozwala na stworzenie nowego formatowania lub pozostawienie dokumentu bez zablokowanych sekcji. Po wywołaniu RemovePane można natychmiast ponownie wywołać CreateFreezePane z nowymi parametrami — te dwie operacje łączą się w naturalny sposób.

Należy pamiętać, że funkcja zamrażania okienek nie działa w formacie Microsoft Excel 97-2003 (.xls) ze względu na ograniczenia formatu pliku. Aby uzyskać najlepsze wyniki, zapisz dokumenty jako pliki .xlsx. Jeśli napotkasz problem z nieprawidłowym wyświetlaniem zamrożonych okienek w pobranych plikach, sprawdź, czy używasz kompatybilnej wersji programu Excel oraz czy plik został zapisany w nowoczesnym formacie.

Możesz również połączyć usuwanie zamrożonych okienek z innymi operacjami na arkuszach. Na przykład przed wyeksportowaniem raportu do innego układu można usunąć konfigurację zamrożenia, dodać nowe wiersze i kolumny, zmienić strukturę danych, a następnie zastosować nową konfigurację zamrożenia, która pasuje do zaktualizowanego układu.

Jak zastosować zamrożenie okienek w wielu arkuszach?

Wiele skoroszytów programu Excel zawiera kilka arkuszy — po jednym dla każdego działu, regionu lub okresu. Programowe zastosowanie funkcji zamrożenia okienek w każdym arkuszu pozwala zaoszczędzić czas w porównaniu z ręcznym wykonywaniem tej czynności w aplikacji Excel.

Poniższy przykład ładuje skoroszyt, przechodzi przez wszystkie arkusze i stosuje tę samą konfigurację zamrożenia do każdego z nich:

using IronXL;

WorkBook workBook = WorkBook.Load("MultiSheetReport.xlsx");

// Apply freeze panes to every worksheet in the workbook
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    // Freeze top row and first column on each sheet
    sheet.CreateFreezePane(1, 1);
}

workBook.SaveAs("MultiSheetReport_Frozen.xlsx");
using IronXL;

WorkBook workBook = WorkBook.Load("MultiSheetReport.xlsx");

// Apply freeze panes to every worksheet in the workbook
foreach (WorkSheet sheet in workBook.WorkSheets)
{
    // Freeze top row and first column on each sheet
    sheet.CreateFreezePane(1, 1);
}

workBook.SaveAs("MultiSheetReport_Frozen.xlsx");
Imports IronXL

Dim workBook As WorkBook = WorkBook.Load("MultiSheetReport.xlsx")

' Apply freeze panes to every worksheet in the workbook
For Each sheet As WorkSheet In workBook.WorkSheets
    ' Freeze top row and first column on each sheet
    sheet.CreateFreezePane(1, 1)
Next

workBook.SaveAs("MultiSheetReport_Frozen.xlsx")
$vbLabelText   $csharpLabel

Ten wzorzec jest szczególnie praktyczny w przypadku kwartalnych zestawów finansowych, gdzie każdy arkusz odpowiada jednemu miesiącowi, lub w przypadku wieloregionalnych raportów sprzedaży, gdzie każdy region ma swoją własną zakładkę. W połączeniu z sortowaniem danych w zakresie Excel i stosowaniem formatowania warunkówego można tworzyć w pełni sformatowane, gotowe do udostępnienia skoroszyty całkowicie z poziomu kodu.

IronXL zapewnia również dostęp do modelu obiektowego WorkBook, umożliwiającego dokładniejszą analizę skoroszytu. Można sprawdzić liczbę arkuszy, pobrać arkusze według nazwy lub indeksu oraz zastosować różne konfiguracje zamrożenia do różnych arkuszy w zależności od ich typu zawartości — na przykład arkusz podsumowujący może zamrozić tylko górny wiersz, podczas gdy arkusze szczegółowe zamrażają zarówno wiersz, jak i kolumnę.

Jak sprawdzić ustawienia zamrożenia okien przed zapisaniem?

W kodzie produkcyjnym dobrą praktyką jest sprawdzenie konfiguracji zamrożonego panelu przed zapisaniem pliku na dysku. IronXL nie udostępnia obecnie bezpośrednio API odczytu stanu zamrożonego panelu, więc zalecanym podejściem jest śledzenie konfiguracji we własnym kodzie i sprawdzenie, czy operacja zapisywania zakończyła się bez błędów.

Oto wzorzec kodowania defensywnego, który można zastosować w każdym projekcie .NET 10:

using IronXL;
using System;

try
{
    WorkBook workBook = WorkBook.Load("source.xlsx");
    WorkSheet workSheet = workBook.DefaultWorkSheet;

    int freezeCol = 1;
    int freezeRow = 1;

    if (freezeCol >= 0 && freezeRow >= 0)
    {
        workSheet.CreateFreezePane(freezeCol, freezeRow);
        Console.WriteLine($"Freeze pane set: {freezeCol} column(s), {freezeRow} row(s).");
    }
    else
    {
        Console.WriteLine("Invalid freeze pane parameters -- skipping.");
    }

    workBook.SaveAs("output.xlsx");
    Console.WriteLine("Workbook saved successfully.");
}
catch (Exception ex)
{
    Console.WriteLine($"Error applying freeze pane: {ex.Message}");
}
using IronXL;
using System;

try
{
    WorkBook workBook = WorkBook.Load("source.xlsx");
    WorkSheet workSheet = workBook.DefaultWorkSheet;

    int freezeCol = 1;
    int freezeRow = 1;

    if (freezeCol >= 0 && freezeRow >= 0)
    {
        workSheet.CreateFreezePane(freezeCol, freezeRow);
        Console.WriteLine($"Freeze pane set: {freezeCol} column(s), {freezeRow} row(s).");
    }
    else
    {
        Console.WriteLine("Invalid freeze pane parameters -- skipping.");
    }

    workBook.SaveAs("output.xlsx");
    Console.WriteLine("Workbook saved successfully.");
}
catch (Exception ex)
{
    Console.WriteLine($"Error applying freeze pane: {ex.Message}");
}
Imports IronXL
Imports System

Try
    Dim workBook As WorkBook = WorkBook.Load("source.xlsx")
    Dim workSheet As WorkSheet = workBook.DefaultWorkSheet

    Dim freezeCol As Integer = 1
    Dim freezeRow As Integer = 1

    If freezeCol >= 0 AndAlso freezeRow >= 0 Then
        workSheet.CreateFreezePane(freezeCol, freezeRow)
        Console.WriteLine($"Freeze pane set: {freezeCol} column(s), {freezeRow} row(s).")
    Else
        Console.WriteLine("Invalid freeze pane parameters -- skipping.")
    End If

    workBook.SaveAs("output.xlsx")
    Console.WriteLine("Workbook saved successfully.")
Catch ex As Exception
    Console.WriteLine($"Error applying freeze pane: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Ten wzorzec sprawdza poprawność parametrów przed wywołaniem API i otacza operację zapisywania blokiem try-catch, dzięki czemu wszelkie błędy systemu plików lub formatu są czysto wychwytywane. W przypadku generowania raportów po stronie serwera tego rodzaju kod defensywny zapobiega cichym awariom w potokach przetwarzania wsadowego.

Więcej wzorców dotyczących pracy z arkuszami Excel i tworzenia wykresów Excel można znaleźć w dokumentacji IronXL, która obejmuje pełen zakres operacji arkusza kalkulacyjnego obsługiwanych przez bibliotekę IronXL.

Jak połączyć funkcję zamrażania okienek z innymi funkcjami IronXL?

Funkcja zamrażania okienek staje się jeszcze bardziej przydatna w połączeniu z innymi opcjami formatowania arkusza kalkulacyjnego i operacjami na danych. Najczęstsze kombinacje w rzeczywistych aplikacjach .NET obejmują:

Formatowanie nagłówków z zamrożonymi panelami. Zamroź górny wiersz, a następnie zastosuj pogrubienie, kolor tła lub style obramowania do komórek nagłówka, aby wyraźnie wyróżniały się na tle wierszy danych poniżej. Użytkownicy od razu zauważają, że zamrożony wiersz jest nagłówkiem, a nie wierszem danych.

Automatyczne dopasowanie szerokości kolumn. Po wprowadzeniu danych należy automatycznie dopasować szerokość kolumn, tak aby każda kolumna miała dokładnie taką szerokość, jaka jest potrzebna dla jej zawartości. Eliminuje to ucięty tekst i sprawia, że zamrożone etykiety nagłówków są czytelne na pierwszy rzut oka.

Weryfikacja danych i ochrona komórek. Połącz zamrożenie okienek z ochroną komórek, aby zablokować komórki nagłówkowe przed przypadkową edycją. Użytkownicy końcowi mogą przewijać dane i wchodzić z nimi w interakcję, podczas gdy chroniony wiersz nagłówka pozostaje zamrożony i dostępny tylko do odczytu.

Sortowanie i filtrowanie. Zastosuj filtr automatyczny programu Excel do wiersza nagłówkowego przed jego zablokowaniem. Po otwarciu pliku użytkownicy widzą przypięte u góry nagłówki kolumn z możliwością filtrowania — wzór znany z natywnych aplikacji Excel.

Zgodnie z dokumentacją programu Excel firmy Microsoft, zamrożone okienka są przechowywane w elemencie XML sheetView arkusza w pakiecie OOXML. IronXL zapisuje ten element poprawnie, dzięki czemu pliki utworzone przez bibliotekę IronXL otwierają się w programach Excel, LibreOffice i Arkusze Google bez dodatkowej konfiguracji.

Projekt Apache POI — odpowiednik Java do obsługi arkuszy Excel — wykorzystuje tę samą specyfikację OOXML, więc zachowanie funkcji zamrażania okienek jest zgodne z tym, czego programiści Java oczekują od swoich narzędzi.

Jakie są Twoje kolejne kroki?

Wdrożenie funkcji zamrażania okienek jest jednym z najskuteczniejszych sposobów na poprawę komfortu użytkowania raportów .NET w programie Excel. Dzięki zablokowaniu nagłówków i identyfikatorów przekształcasz dane statyczne w interaktywne narzędzie do raportowania, po którym użytkownicy mogą poruszać się bez obaw.

Oto podsumowanie treści zawartych w niniejszym przewodniku:

  • Proste zablokowanie wiersza -- CreateFreezePane(0, 1) blokuje górny wiersz podczas przewijania w pionie.
  • Proste zablokowanie kolumny -- CreateFreezePane(1, 0) blokuje skrolowanie w poziomie w kolumnie najbardziej po lewej stronie.
  • Zablokowanie połączone -- CreateFreezePane(1, 1) blokuje zarówno górny wiersz, jak i pierwszą kolumnę.
  • Zaawansowane przewijanie wstępne -- CreateFreezePane(col, row, leftmostCol, topRow) ustawia niestandardową pozycję początkową dla panelu przewijania.
  • Usuń panele -- RemovePane() usuwa wszelkie istniejące konfiguracje zamrożenia lub podziału.
  • Aplikacja wielarkuszowa — wykonaj iterację nad workBook.WorkSheets, aby zastosować te same ustawienia zamrożenia w całym skoroszycie.

Aby dalej rozwijać te umiejętności, zapoznaj się z poniższymi przewodnikami w dokumentacji IronXL:

Aby korzystać z wersji produkcyjnej, kup licencję, aby odblokować wszystkie funkcje i wdrożyć oprogramowanie bez obaw. Strona licencyjna IronXL obejmuje również opcje wdrażania, Redystrybucję bez opłat licencyjnych oraz przypadki użycia w modelu SaaS.

Zacznij z IronXL teraz.
green arrow pointer

Często Zadawane Pytania

Jak zachować widoczność wiersza nagłówkowego w programie Excel przy użyciu VB.NET?

Możesz zachować widoczność wiersza nagłówkowego, używając metody CreateFreezePane biblioteki IronXL w aplikacji VB.NET, aby zablokować górny wiersz, zapewniając jego widoczność podczas przewijania danych.

Jaki jest cel zamrażania okienek w programie Excel?

Zablokowanie okienek w programie Excel pomaga zachować widoczność określonych wierszy lub kolumn, takich jak nagłówki, podczas przeglądania dużych zbiorów danych, co usprawnia analizę danych i zwiększa użyteczność.

Czy IronXL może służyć do programowego zamrażania okienek w Excelu?

Tak, IronXL pozwala programowo zamrażać okienka w Excelu, umożliwiając zablokowanie określonych wierszy lub kolumn za pomocą metody CreateFreezePane.

Czy w VB.NET można jednocześnie zablokować zarówno wiersze, jak i kolumny?

Tak, korzystając z IronXL w VB.NET, można jednocześnie zablokować zarówno wiersze, jak i kolumny, określając wiersze i kolumny, które chcesz zablokować za pomocą metody CreateFreezePane.

Czym jest metoda CreateFreezePane w IronXL?

Metoda CreateFreezePane biblioteki IronXL to funkcja, która pozwala programistom programowo zablokować określone wiersze i kolumny w arkuszach kalkulacyjnych Excel, usprawniając nawigację po danych i ich analizę.

Dlaczego programiści powinni używać IronXL do operacji w Excelu w VB.NET?

Programiści powinni używać IronXL do operacji w Excelu w VB.NET, ponieważ upraszcza ono złożone zadania, takie jak zamrażanie okienek, ułatwiając zarządzanie dużymi zbiorami danych i poprawiając komfort użytkowania.

W jaki sposób zamrażanie okienek poprawia użyteczność arkuszy kalkulacyjnych programu Excel?

Zablokowanie okienek poprawia użyteczność, utrzymując ważne dane, takie jak nagłówki, widoczne przez cały czas, co pomaga w wydajnej analizie danych i nawigacji po dużych arkuszach kalkulacyjnych.

Czy IronXL może efektywnie obsługiwać duże pliki Excel?

Tak, IronXL został zaprojektowany do wydajnej obsługi dużych plików Excel, oferując funkcje takie jak zamrażanie okienek, które pomagają zarządzać rozbudowanymi danymi i poruszać się po nich bez zbędnego obciążenia.

Czy IronXL jest odpowiedni zarówno dla początkujących, jak i zaawansowanych programistów?

IronXL jest odpowiedni zarówno dla początkujących, jak i zaawansowanych programistów dzięki przejrzystemu API i bogatemu zestawowi funkcji, w tym metodzie CreateFreezePane do operacji w Excelu w VB.NET.

Jakie są zalety korzystania z IronXL do zadań związanych z automatyzacją programu Excel?

Zalety korzystania z IronXL do zadań związanych z automatyzacją Excela obejmują łatwość obsługi, możliwość programowej manipulacji arkuszami kalkulacyjnymi oraz ulepszone funkcje, takie jak zamrażanie okienek, które ułatwiają zarządzanie danymi.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie