IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Jak zarządzać zakresami w Excelu w języku C#

Curtis Chau
Curtis Chau
Updated: 21 kwietnia 2026

Praca z plikami Excel programistycznie moze znacznie zwiekszyc efektywnosc i mozliwosci automatyzacji Twoich aplikacji C#. Czy generujesz raporty, przetwarzasz dane czy tworzysz zlozone arkusze kalkulacyjne dynamicznie, opanowanie manipulacji plikami Excel jest kluczowe. W tym poradniku skupimy sie na pracy z zakresami Excel za pomoca IronXL. Omówimy, jak zapisac, odczytac i manipulowac zakresami w pliku Excel.

How to Read Excel Ranges in C#

  1. Zainstaluj biblioteke IronXL do obslugi plików Excel.
  2. Zaladuj skoroszyt i okresl arkusz kalkulacyjny.
  3. Wybierz zakres komórek do odczytania.
  4. Wyodrebnij i odczytaj dane z okreslonego zakresu.

Czym jest IronXL?

IronXL jest wszechstronna biblioteka dla C#, ktora ulatwia prace z plikami Excel, oferujac szereg funkcji dla bezproblemowej integracji i manipulacji danymi z arkuszy kalkulacyjnych. Jej mozliwosci obejmuja odczytywanie, zapisywanie i modyfikowanie plików Excel bez koniecznosci instalacji Microsoft Excel, umozliwiajac kompatybilnosc krzyzowa.

IronXL ulatwia wyodrebnianie danych z komorek, zakresow lub calych arkuszy kalkulacyjnych, wraz z zaawansowanymi funkcjami, takimi jak formatowanie, stylowanie i formatowanie warunkowe. Dzieki wsparciu dla obliczen, formuł i analizy statystycznej, IronXL umozliwia programistom efektywna obsluge operacji Excel programistycznie, czyniac z tego nieodlaczne narzedzie dla automatyzacji zadan centrycznych danych w aplikacjach C#.

Getting Started with Excel Range of cells in C#

Przede wszystkim musimy zainstalowac biblioteke IronXL w naszej aplikacji.

Zainstaluj pakiet NuGet IronXL

Mozesz zainstalowac IronXL przez menedzera pakietow NuGet za pomoca nastepujacego polecenia:

PM > Install-Package IronXL.Excel

Powyższe polecenie zainstaluje IronXL z wszystkimi jego zaleznosciami.

Jak zarządzać zakresami w Excelu w C#: Rysunek 1

Dodaj przestrzen nazw

Dodaj nastepujaca przestrzen nazw na poczatku klasy Program.cs, lub gdziekolwiek chcesz uzywac metod IronXL.

using IronXL;

Zaladuj Excel Workbook

Bardzo pierwszym krokiem jest zaladowanie skoroszytu Excel. Nastepujacy kod zaladuje skoroszyt Excel w naszej aplikacji.

static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");
    
    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}

Pierwsza linia ładuje istniejacy skoroszyt Excel z pliku o nazwie "test_excel.xlsx". Druga linia pobiera arkusz o nazwie "Sheet1" z zaladowanego skoroszytu.

Bede uzywac nastepujacego pliku Excel przez cala te informacje.

Jak zarządzać zakresami w Excelu w C#: Rysunek 2

Odczytywanie danych z zakresu

Teraz, odczytajmy dane z okreslonych zakresow komorek.

// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}

Pierwsza linia wybiera konkretny adres zakresu (A2 do G10) w arkuszu, umozliwiajac prace z wieloma komorkami Excel jednoczesnie. Pętla foreach (var item in range) iteruje po każdej komórce w obrębie tego zakresu komórek, umożliwiając efektywne przetwarzanie danych.

Używając Console.WriteLine(item);, kod drukuje wartość każdej komórki na konsolę, co ułatwia przeglądanie zawartości zakresu. To podejscie ulatwia obsluge danych i zwieksza czytelnosc kodu.

Uzywaj formuł Excel w zakresie

Wybiermy konkretny zakres i zaimplementujmy formuly Excel.

// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");

Kod var range = sheet["F2:F42"]; wybiera zakres komórek rozciągający się od F2 do F42, co ułatwia analizę statystyczną danych o wieku. Używając range.Min() i range.Max(), efektywnie oblicza minimalne i maksymalne wartości wieku w określonym zakresie, co pomaga w analizie demograficznej.

Dodatkowo, range.Avg() oblicza średni wiek, oferując wartościowe metryki statystyczne do interpretacji danych. To podejscie ulatwia zadania analizy danych, zapewniajac szybki dostep do istotnych informacji statystycznych dla podejmowania opartych decyzji.

Jak zarządzać zakresami w Excelu w C#: Rysunek 3

Odczytywanie danych z pojedynczej komorki

Przeczytajmy dane z jednej komorki.

// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");

Kod var read_from_single_cell = sheet["B2"]; pobiera wartość przechowywaną w komórce B2 z arkusza. Korzystajac z tego podejscia, mozesz latwo uzyskac dostep do okreslonych wartosci komorek w pliku Excel.

Dzięki Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");, kod drukuje pobraną wartość odniesionych komórek na konsolę, co ułatwia weryfikację danych i debugowanie. To upraszcza proces pobierania i wyswietlania poszczegolnych wartosci komorek z plików Excel.

Jak zarządzać zakresami w Excelu w C#: Rysunek 4

Odczytywanie danych z calej kolumny

Odczytajmy dane z calej kolumny za pomoca indeksu.

// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}

Kod var columnValues = sheet.GetColumn(2); pobiera wszystkie wartości z kolumny znajdującej się w indeksie 2 (kolumna C) w arkuszu. To umozliwia efektywny dostep do wszystkich wartosci w okreslonej kolumnie arkusza Excel.

Poprzez pętlę foreach iterującą po columnValues, każda wartość w kolumnie jest drukowana na konsolę za pomocą Console.WriteLine(columnValue);. To podejscie ulatwia przetwarzanie i wyswietlanie danych kolumnowych z plikow Excel, usprawniajac zadania analizy danych.

Jak zarządzać zakresami w Excelu w C#: Rysunek 5

Alternatywnie, mozemy rowniez odczytac dane z kolumny, uzywajac nazwy kolumny zamiast indeksu. Rozważmy następujący przykład:

// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");

W ten sposob mozemy okreslic kilka kolumn.

Odczytywanie danych z calego wiersza

Czytajmy dane z calego wiersza, uzywajac numerow wierszy.

// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}

Kod var rowValues = sheet.GetRow(1); pobiera wszystkie wartości z jednego wiersza znajdującego się w indeksie 1 (Wiersz 2) w arkuszu, umożliwiając efektywny dostęp do danych specyficznych dla wiersza. Poprzez pętlę foreach iterującą po rowValues, każda wartość w wierszu jest drukowana na konsolę za pomocą Console.Write(rowValue + " ");.

To podejscie upraszcza wyodrebnianie i wyswietlanie danych z wierszy plików Excel, pomagajac w analizie i raportowaniu danych. W ten sposob mozemy czytac wartosci z wielu komorek bez specyfikacji zakresu.

Jak zarządzać zakresami w Excelu w C#: Rysunek 6

Zapisywanie danych do komorki lub zakresu

Możemy zapisywać dane zarówno do komorki, jak i zakresu. Najpierw zapiszemy dane do zakresu.

// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();

Kod var range = sheet["D2:D14"]; wybiera zakres rozciągający się od komórki D2 do D14, umożliwiając zbiorową modyfikację danych. Ustawiając range.Value na "Preferuje nie mówić", efektywnie aktualizuje wartość płci dla każdej komórki w określonym zakresie, minimalizując powtarzające się zadania.

Kolejne polecenie workbook.Save(); zapewnia trwałe zachowanie tych zmian, utrzymując spójność i integralność danych. To podejscie upraszcza zbiorowe aktualizacje i zapewnia jednolitosc w wielu komorkach, zwiekszajac efektywnosc zarzadzania danymi.

Teraz zapiszmy dane w określonej komórce.

// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();

Kod sheet["B2"].Value = "John"; bezpośrednio przypisuje wartość "John" do komórki B2 w arkuszu Excel, oferując zwięzłą i prostą metodę aktualizacji wartości poszczególnych komórek. Takie podejście usprawnia proces modyfikacji zawartości poszczególnych komórek, poprawiając czytelność i wydajność kodu.

Jak zarządzać zakresami w Excelu w C#: Rysunek 7 - Zakres Excel w C#

Wnioski

Podsumowując, opanowanie operacji na zakresach w Excelu w języku C# przy użyciu IronXL znacznie zwiększa wydajność i możliwości automatyzacji aplikacji, ułatwiając zadania takie jak przetwarzanie danych, generowanie raportów i dynamiczne tworzenie arkuszy kalkulacyjnych.

Dzięki zaawansowanym funkcjom IronXL do odczytu, zapisu i manipulacji plikami Excel programiści mogą usprawnić procesy przetwarzania danych i wykorzystać zaawansowane funkcje, takie jak formuły, formatowanie i analiza statystyczna. Ponadto IronXL oferuje bezpłatną wersję próbną, zapewniając elastyczność i skalowalność dostosowaną do różnych wymagań projektowych.

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

Powiązane artykuły

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