IRONSOFTWAREHOME
PORÓWNAJ Z INNYMI KOMPONENTAMI

Porównanie IronXL i Microsoft Office Interop Excel

Curtis Chau
Curtis Chau
Updated: 19 lipca 2026

Narzędzia MS Office, takie jak Word, Excel, PowerPoint itp., są bardzo popularne i szeroko stosowane we wszystkich typach firm. Tworzenie plików raportów w formacie pliku Excel to funkcja, której wielu użytkowników potrzebuje w swoich aplikacjach softwareowych, a teraz istnieje ostateczny sposób na uwzględnienie tej funkcji w aplikacjach softwareowych, używając różnych dostępnych bibliotek.

W tym artykule omówimy i porównamy, jak programowo pracować z plikami Microsoft Excel w C# używając dwóch najpopularniejszych bibliotek, IronXL i Microsoft Office Excel Interop.

IronXL i Interop Microsoft Excel dostarczają obie metody do tworzenia, edycji i odczytu dokumentów Excel w ramach .NET. Kolejnym pytaniem jest wybór biblioteki C# dla programu Excel, która najlepiej pasuje do Twojego projektu. Ten artykuł pomoże Ci wybrać najlepszą opcję dla Twoich aplikacji.

Najpierw przyjrzyjmy się, co obie biblioteki oferują, a następnie przejdźmy do samego porównania.

Biblioteka IronXL

IronXL to biblioteka .NET, która ułatwia odczyt i edycję dokumentów Microsoft Excel w C#. IronXL.Excel to samodzielna biblioteka oprogramowania .NET służąca do odczytu szerokiej gamy formatów arkuszy kalkulacyjnych. Nie wymaga instalacji programu Microsoft Excel ani nie jest zależne od Interop.

IronXL to intuicyjny interfejs API języka C#, który umożliwia odczytywanie, edytowanie i tworzenie plików arkuszy kalkulacyjnych Excel w środowisku .NET z błyskawiczną wydajnością. IronXL w pełni obsługuje .NET Core, .NET Framework, Xamarin, urządzenia mobilne, systemy Linux, macOS oraz platformę Azure.

IronXL to wiodąca biblioteka arkuszy kalkulacyjnych Excel dla C# oparta na platformach .NET Core i .NET Framework.

Dokumentacja i wsparcie

Zestaw funkcji IronXL

  • Ładowanie, odczyt, i edycja danych — z XLS/XLSX/CSV/TSV
  • Zapisywanie i eksportowanie — do XLS/XLSX/CSV/TSV/JSON
  • Obiekty System.Data — Praca z arkuszami Excel jako obiektami System.Data.DataSet i System.Data.DataTable.
  • Formuły — współpracuje z formułami programu Excel. Formuły są przeliczane przy każdej edycji arkusza.
  • Zakresy — Łatwa w użyciu składnia WorkSheet ["A1:B10"]. Intuicyjnie łącz i twórz zakresy.
  • Sortowanie — Sortuj zakresy, kolumny i wiersze.
  • Stylizacja — Style wizualne komórek, czcionka, rozmiar, wzór tła, obramowanie, wyrównanie i formaty liczby.

Obiekty Microsoft Office Excel Interop

Przestrzeń nazw Microsoft.Office.Interop.Excel dostarcza metody do interakcji z aplikacją Microsoft Excel w C# i Visual Basic. Możemy tworzyć nowe skoroszyty Excel, arkusze robocze Excel, wyświetlać dane w istniejących arkuszach, modyfikować istniejąca zawartość arkusza Excel i wiele więcej za pomocą tej przestrzeni nazw.

Klasy i interfejsy w Microsoft.Office.Interop.Excel dostarczają wsparcia dla interoperacyjności między modelem COM obiektów plików Microsoft Excel a zarzadzanymi aplikacjami, które automatyzują pliki xls lub xlsx.

Język programowania C# zawiera możliwości, które ułatwiają pracę z obiektami Microsoft Office Interop API. Nowe funkcje obejmują nazwane i opcjonalne argumenty, nowy typ o nazwie dynamic oraz możliwość przekazywania argumentów do parametrów referencyjnych w metodach COM, jakby były parametrami wartościowymi. To sprawia, że jest to lepszy wybór do pracy z obiektami COM i Interop.

Uwaga: Obiekty Microsoft Excel Interop wymagają zainstalowania Microsoft Excel na komputerze

Dalsza część artykułu wygląda następująco:

  1. Utwórz aplikację konsolową
  2. Instalacja biblioteki IronXL C#
  3. Instalacja Microsoft Office Interop Excel
  4. Tworzenie nowego skoroszytu Excel i arkusza
  5. Odczyt plików Excel
  6. Praca z zakresem wartości w plikach Excel
  7. Praca z formułami Excel
  8. Licencjonowanie
  9. Podsumowanie i wnioski

1. Utwórz aplikację konsolową

Aby utworzyć aplikację konsolową, wykonaj następujące kroki:

  • Uruchom środowisko IDE Visual Studio 2022.
  • Kliknij "Utwórz nowy projekt".
  • Na stronie "Utwórz nowy projekt" wybierz C# z listy rozwijanej języków, Windows z listy platform oraz Konsola z listy "Typy projektów".
  • Wybierz opcję Aplikacja konsolowa (.NET Framework) spośród wyświetlonych szablonów projektów.
Utwórz projekt — aplikacja konsolowa
  • Kliknij Dalej.
  • Na ekranie "Dodatkowe informacje" określ wersję platformy, z której chcesz korzystać. W tym przykładzie użyjemy .NET Framework 4.8.
Utwórz projekt — .NET Framework
  • Kliknij Utwórz, aby zakończyć proces.

Projekt został utworzony i jesteśmy już prawie gotowi do przetestowania bibliotek. Jednak nadal musimy je zainstalować i zintegrować z naszym projektem. Najpierw zainstalujmy IronXL.

2. Instalacja biblioteki IronXL C#

Bibliotekę IronXL można pobrać i zainstalować, korzystając z następujących metod:

  1. Korzystanie z programu Visual Studio z pakietami NuGet.
  2. Pobierz pakiet NuGet bezpośrednio.
  3. Zainstaluj ręcznie za pomocą pliku DLL.

Przyjrzyjmy się bliżej każdemu z nich.

2.1. Korzystanie z programu Visual Studio z pakietami NuGet

Visual Studio udostępnia menedżera pakietów NuGet do instalowania pakietów NuGet w projektach. Dostęp do niego można uzyskać poprzez menu Projekt lub klikając prawym przyciskiem myszy na projekt w Eksploratorze rozwiązań.

Wybierz Zarządzaj pakietem NuGet
  • Teraz w zakładce przeglądania -> wyszukaj IronXL.Excel -> Zainstaluj
Wyszukaj IronXL
  • I gotowe.
Wyszukaj Microsoft Excel Interop

3.2. Korzystanie z konsoli menedżera pakietów NuGet

Innym sposobem pobrania i zainstalowania biblioteki Microsoft.Office.Interop.Excel C# jest wykonanie poniższych kroków w celu zainstalowania pakietu NuGet za pomocą wiersza poleceń programisty.

  1. Otwórz wiersz poleceń programisty — zazwyczaj znajduje się on w folderze Visual Studio.

  2. Wpisz następujące polecenie:

    PM> Install-Package Microsoft.Office.Interop.Excel
    SHELL
  3. Naciśnij klawisz Enter.

  4. Spowoduje to pobranie i zainstalowanie pakietu.

  5. Odśwież projekt Visual Studio i zacznij z niego korzystać.

3.3. Dodaj niezbędne dyrektywy using

  1. W oknie Solution Explorer kliknij prawym przyciskiem myszy plik Program.cs, a następnie wybierz opcję View Code.

  2. Dodaj następującą dyrektywę using na początku pliku kodu:

    using Excel = Microsoft.Office.Interop.Excel;

4. Utwórz nowy skoroszyt i arkusz programu Excel

Składnik to plik programu Excel zawierający wiele arkuszy z wierszami i kolumnami. Obie biblioteki umożliwiają tworzenie nowych skoroszytów i arkuszy programu Excel. Przyjrzyjmy się kodowi krok po kroku.

4.1. Nowy skoroszyt i arkusz programu Excel przy użyciu IronXL

Tworzenie nowego skoroszytu Excel za pomocą IronXL nie może być prostsze! Wystarczy jedna linijka kodu! Tak, naprawdę. Dodaj nastepujacy kod do statycznej funkcji void Main w pliku Program.cs:

// Create a new workbook in XLSX format
WorkBook workbook = WorkBook.Create(ExcelFileFormat.XLSX);

Za pomocą IronXL można tworzyć pliki zarówno w formacie XLS (starsza wersja plików Excel), jak i XLSX (aktualna i nowsza wersja plików).

A tworzenie domyślnego arkusza jest jeszcze łatwiejsze:

// Create a new worksheet
var worksheet = workbook.CreateWorkSheet("IronXL Features");

Teraz możesz używać zmiennej arkusza, aby ustawiać wartości komórek i wykonywać prawie wszystko, co potrafi plik Excel.

4.2. Nowy skoroszyt i arkusz programu Excel przy użyciu biblioteki Microsoft.Office.Interop.Excel

Aby utworzyć plik Excel przy użyciu Microsoft.Office.Interop, należy zainstalować program Microsoft Excel. Musimy więc sprawdzić, czy na komputerze hosta zainstalowany jest program Microsoft Excel — jeśli nie, zostanie po prostu zwrócony wyjątek, który należy obsłużyć. Poniższe przykładowe fragmenty kodu pozwalają sprawdzić, czy aplikacja Excel jest zainstalowana, oraz utworzyć skoroszyty i arkusze programu Excel:

Sprawdź, czy zainstalowano program Microsoft Excel:

// Start Excel and get Application object.
Excel.Application xlApp = new Excel.Application();  

// Check if Excel is installed  
if (xlApp == null)  
{  
    Console.WriteLine("Excel is not installed in the system...");
    return;  
}

Utwórz skoroszyt i arkusz:

// Create Workbook and Worksheet
object misValue = System.Reflection.Missing.Value;  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Add(misValue);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

Jak dotąd, patrząc na oba kody, przewagę ma IronXL nad Office Interop Excel. IronXL wykorzystuje zaledwie jedną linię kodu, aby móc pracować z plikami Excel, bez zbędnych komplikacji i dodatkowych zależności.

5. Odczyt plików Excel

Obie biblioteki mogą otwierać i odczytywać istniejące dokumenty Excel. Przyjrzyjmy się przykładowemu kodowi.

5.1. Odczytywanie plików Excel za pomocą IronXL

Klasa IronXL WorkBook reprezentuje arkusz programu Excel. Aby otworzyc plik Excel za pomoca C#, uzywamy WorkBook.Load i okreslamy sciezke do pliku Excel (.xlsx). Poniższy jednowierszowy kod służy do otwarcia pliku w celu odczytu:

// Load WorkBook
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");

Każdy skoroszyt może zawierać wiele obiektów arkusza. Są to arkusze w dokumencie Excel. Jeśli skoroszyt zawiera arkusze, należy je pobrać według nazwy w następujący sposób:

// Open Sheet for reading
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");

Kod do odczytu wartości komórek:

// Read from Ranges of cells elegantly.
foreach (var cell in worksheet["A2:A10"])
{
    Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}

5.2. Odczytywanie plików Excel za pomocą Microsoft.Office.Interop.Excel

W tym przypadku również wystarczy jedna linijka kodu, aby otworzyć skoroszyt i arkusz. Kod wygląda następująco:

Excel.Application xlApp = new Excel.Application();  

// Load WorkBook
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  

// Open Sheet for reading
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

Kod do odczytu wartości komórek:

// Get the entire range of cells
Excel.Range xlRange = xlWorkSheet.UsedRange;

// Reading first 10 rows with two columns
for (int rowCount = 1; rowCount <= 10; rowCount++)  
{  
    string firstValue = Convert.ToString((xlRange.Cells[rowCount, 1] as Excel.Range).Text);  
    string secondValue = Convert.ToString((xlRange.Cells[rowCount, 2] as Excel.Range).Text);  
    
    Console.WriteLine(firstValue + "\t" + secondValue);  
}

Jednak sprawdzenie instalacji programu Excel i utworzenie jego instancji jest integralną częścią procesu.

6. Praca z zakresami wartości w plikach Excel

6.1. Praca z zakresami wartości przy użyciu IronXL

W IronXL za pomocą jednej linii kodu możemy uzyskać zakres wartości określonych komórek. Następnie, za pomocą pętli, można odczytać lub edytować wartość każdej komórki. Kod wygląda następująco:

// Load the workbook and get the first worksheet
WorkBook workbook = WorkBook.Load("test.xls");
WorkSheet sheet = workbook.WorkSheets.First();
 
// This is how we get range from Excel worksheet
var range = sheet["A2:A8"];
// This is how we can iterate over our range and read or edit any cell
foreach (var cell in range)
{
    Console.WriteLine(cell.Value);
}

6.2. Praca z zakresami wartości przy użyciu Microsoft.Office.Interop.Excel

W tym przypadku również wystarczy jedna linijka kodu, aby uzyskać zakres wartości komórek. Komórki można następnie zaktualizować o wymagane wartości. Kod wygląda następująco:

Excel.Application xlApp = new Excel.Application();  
Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(filePath);  
Excel.Worksheet xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

// Get range of values and updating their format
var range = xlWorkSheet.get_Range("A1", "D1");
range.NumberFormat = "$0.00";

7. Praca z formułami programu Excel

Formuły programu Excel stanowią najważniejszy element pracy z plikami Excel. Obie biblioteki umożliwiają pracę z formułami i łatwe stosowanie ich w komórkach.

7.1. Praca z formułami programu Excel przy użyciu IronXL

Po załadowaniu skoroszytu i arkusza można użyć poniższego przykładowego kodu, aby wprowadzić zmiany w formułach lub zastosować je do określonych komórek. Kod wygląda następująco:

// Set Formulas
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
 
// Force recalculate all formula values in all sheets.  
workbook.EvaluateAll();

Można również pobrać formuły i ich wartości.

// Get Formulas
// Get the formula's calculated value.  e.g. "52"
string formulaValue = worksheet["G30"].Value;
 
// Get the formula as a string. e.g. "Max(C3:C7)"
string formulaString = worksheet["G30"].Formula;

// Save your changes with updated formulas and calculated values.
workbook.Save();

7.2. Praca z formułami programu Excel przy użyciu biblioteki Microsoft.Office.Interop.Excel

Podobnie, po załadowaniu skoroszytu i arkusza, można użyć poniższego kodu do pracy z formułami w Excelu. Przykładowy kod wygląda następująco:

// Get range of values and updating their format
var range1 = xlWorkSheet.get_Range("A1", "D1");
var range2 = xlWorkSheet.get_Range("C2", "C6");

// Set Formula
range1.Formula = "=RAND()*100000";
range2.Formula = "=A2 & \" \" & B2";

8. Licencjonowanie

IronXL to otwarta komercyjna biblioteka C# dla programu Excel. Jest bezpłatny do celów programistycznych i zawsze można uzyskać licencję na wdrożenie komercyjne. Dostępne są licencje na użycie w ramach pojedynczego projektu, dla pojedynczych programistów, agencji i globalnych korporacji, a także na redystrybucję w modelu SaaS i OEM. Wszystkie licencje obejmują 30-dniową gwarancję zwrotu pieniędzy, roczną pomoc techniczną i aktualizacje, ważność na środowiska deweloperskie, testowe i produkcyjne, a także licencję stałą (jednorazowy zakup). Pakiet Lite zaczyna sie od $999.

W przypadku Microsoft Office Interop Excel aplikacje korzystające z tego pliku DLL nie wymagają oddzielnej licencji ani do użytku jednorazowego, ani do użytku komercyjnego. Aby jakiekolwiek rozwiązanie działało z aplikacją pakietu Office, aplikacje pakietu Microsoft Office muszą być zainstalowane i licencjonowane na komputerze, na którym rozwiązanie jest uruchamiane. Plik DLL będzie zawsze obecny na komputerze, na którym zainstalowana jest aplikacja pakietu Office, i zostanie tam zarejestrowany. Jednocześnie w GAC zostaną zainstalowane podstawowe zestawy interop (PIA) niezbędne dla rozwiązań .NET korzystających z "interop".

9. Podsumowanie i wnioski

Podsumowanie

Odczytywanie i tworzenie plików Excel (XLS, XLSX i CSV) w języku C# i wszystkich innych językach .NET jest łatwe dzięki bibliotece IronXL firmy Iron Software. IronXL nie wymaga instalacji programu Excel na serwerze ani biblioteki Interop. IronXL zapewnia szybszy i bardziej intuicyjny interfejs API niż Microsoft.Office.Interop.Excel. IronXL działa na platformach .NET Core 2, Framework 4.5, Azure, Mono oraz Mobile i Xamarin.

Microsoft Office Interop (Excel Automation) to opcja do tworzenia/odczytu plików Excel (XLS, XLSX, CSV) z aplikacji C# lub VB.NET. Wymaga, aby na wszystkich komputerach klienckich była zainstalowana ta sama wersja programu Microsoft Excel i działa wyłącznie w systemach operacyjnych Windows.

Wnioski

W tym przypadku IronXL ma wyraźną przewagę nad Microsoft.Office.Interop.Excel, ponieważ do działania nie wymaga zainstalowania aplikacji Microsoft Office Excel na komputerze lokalnym ani serwerze. Ponadto podczas korzystania z Excel Automation program Microsoft Excel jest ładowany w tle, co zajmuje dużo pamięci i powoduje ładowanie dużej liczby plików oraz bibliotek DLL w porównaniu z IronXL. IronXL ma szybsze i bardziej intuicyjne API niż to w Microsoft.Office.Interop.Excel.

Aplikacje Microsoft Office (w tym Excel) zostały zaprojektowane jako aplikacje UI, a zatem API jest bardzo wolne. Microsoft nie zaleca używania automatyzacji Excel (ani żadnego Interop Office) na serwerze. W tym przypadku, z wszystkimi swoimi solidnymi funkcjami, IronXL jest najlepszym wyborem do integracji z aplikacjami oprogramowania.

Zwróć uwagę: Microsoft Office jest zarejestrowanym znakiem towarowym jego właściciela. Ta strona nie jest powiązana z, popierana przez, ani sponsorowana przez Microsoft Office. Wszystkie nazwy produktów, loga i marki są własnością ich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.
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