A Guide to Reading and Writing Excel Files in C#

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Odczytywanie i tworzenie plików Excel (XLS, XLSX i CSV) w C# oraz innych językach .NET jest łatwe przy użyciu biblioteki IronXL firmy Iron Software.

IronXL nie wymaga zainstalowania Excel Interop na serwerze. IronXL oferuje szybsze i bardziej intuicyjne API niż Microsoft.Office.Interop.Excel.

IronXL działa na następujących platformach:

  • .NET Framework 4.6.2 i nowsze dla Windows i Azure
  • .NET Core 2 i nowsze dla Windows, Linux, MacOS i Azure
  • .NET 5, .NET 6, .NET 7, .NET 8, Mono, Maui, i Xamarin

Zainstaluj IronXL

Najpierw zainstaluj IronXL, używając naszego pakietu NuGet lub przez pobranie DLL. Klasy IronXL można znaleźć w przestrzeni nazw IronXL.

Najłatwiejszym sposobem na zainstalowanie IronXL jest użycie Menedżera Pakietów NuGet dla Visual-Studio: Nazwa pakietu to IronXL.Excel.

PM > Install-Package IronXL.Excel

https://www.nuget.org/packages/IronXL.Excel/

Odczytywanie dokumentu Excel

Z IronXL ekstrakcja danych z pliku Excel może być wykonana w zaledwie kilku liniach kodu.

using IronXL;
using System;
using System.Linq;

// Supported spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select cells easily in Excel notation and return the calculated value, date, text or formula
int cellValue = workSheet["A2"].IntValue;

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

Tworzenie nowych dokumentów Excel

IronXL oferuje szybki i łatwy interfejs do generowania dokumentów Excel za pomocą C# lub VB.NET.

using IronXL;

// Create new Excel WorkBook document.
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
workBook.Metadata.Author = "IronXL";

// Add a blank WorkSheet
WorkSheet workSheet = workBook.CreateWorkSheet("main_sheet");

// Add data and styles to the new worksheet
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

// Save the excel file
workBook.SaveAs("NewExcelFile.xlsx");

Eksportowanie jako CSV, XLS, XLSX, JSON lub XML

IronXL pozwala również na zapisywanie lub eksportowanie danych do różnych popularnych formatów arkuszy kalkulacyjnych.

// Export to many formats with fluent saving
workSheet.SaveAs("NewExcelFile.xls");
workSheet.SaveAs("NewExcelFile.xlsx");
workSheet.SaveAsCsv("NewExcelFile.csv");
workSheet.SaveAsJson("NewExcelFile.json");
workSheet.SaveAsXml("NewExcelFile.xml");

Stylizacja komórek i zakresów

Możesz zastosować formatowanie do komórek i zakresów Excel przy użyciu obiektu IronXL.Range.Style.

// Set cell's value and styles
workSheet["A1"].Value = "Hello World";
workSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
workSheet["A2"].Style.BottomBorder.Type = IronXL.Styles.BorderType.Double;

Sortowanie zakresów

Z IronXL możesz łatwo sortować zakres komórek Excel używając obiektu Range.

using IronXL;
using System.Linq;
using Range = IronXL.Range;

WorkBook workBook = WorkBook.Load("test.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// This is how we get range from Excel worksheet
Range range = workSheet["A2:A8"];

// Sort the range in the sheet
range.SortAscending();
workBook.Save();

Edytowanie formuł

Modyfikowanie formuły Excel jest tak proste, jak przypisanie wartości zaczynającej się od znaku '='. Formuła zostanie obliczona natychmiast.

// Set a formula
workSheet["A1"].Value = "=SUM(A2:A10)";

// Get the calculated value
decimal sum = workSheet["A1"].DecimalValue;

Dlaczego warto wybrać IronXL?

IronXL oferuje przyjazne dla dewelopera API do odczytu i zapisu dokumentów Excel w .NET. Działa bez potrzeby instalacji Microsoft Excel lub Excel Interop na serwerze, co sprawia, że obsługa plików Excel jest szybka, lekka i bezproblemowa.

Ruszając naprzód

Aby zapoznać się z dodatkowymi funkcjami i możliwościami, zalecamy zapoznanie się z Dokumentacja API dla .NET sformatowana podobnie do dokumentacji MSDN.

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,362,812Wersja:2026.11właśnie wydany