Samouczek C# Excel: Naucz się korzystać z biblioteki IronXL (bez Interop)

Przewodnik po odczytywaniu i zapisywaniu plików Excel w C

This article was translated from English: Does it need improvement?
Translated
View the article in English

Odczytywanie i tworzenie plików Excel (XLS, XLSX i CSV) w językach C# i innych językach .NET jest proste dzięki bibliotece IronXL firmy Iron Software.

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

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

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

Instalacja IronXL

Najpierw należy zainstalować IronXL, korzystając z pakietu NuGet lub pobierając bibliotekę DLL. Klasy IronXL można znaleźć w przestrzeni nazw IronXL.

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

Install-Package IronXl.Excel

https://www.nuget.org/packages/ironxl.excel/

Odczytywanie dokumentu Excel

Dzięki IronXL wyodrębnienie danych z pliku Excel można wykonać w zaledwie kilku liniach kodu.

:path=/static-assets/excel/content-code-examples/get-started/get-started-1.cs
using IronXL;

// 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);
}
Imports IronXL

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

' Select cells easily in Excel notation and return the calculated value, date, text or formula
Private cellValue As Integer = workSheet("A2").IntValue

' Read from Ranges of cells elegantly.
For Each cell In workSheet("A2:B10")
	Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText   $csharpLabel

Tworzenie nowych dokumentów Excel

IronXL oferuje szybki i prosty interfejs do generowania dokumentów Excel przy użyciu języka C# lub VB.NET.

:path=/static-assets/excel/content-code-examples/get-started/get-started-2.cs
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");
Imports IronXL

' Create new Excel WorkBook document.
Private workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
workBook.Metadata.Author = "IronXL"

' Add a blank WorkSheet
Dim workSheet As 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")
$vbLabelText   $csharpLabel

Eksportowanie do CSV, XLS, XLSX, JSON lub XML

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

:path=/static-assets/excel/content-code-examples/get-started/get-started-3.cs
// 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");
' 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")
$vbLabelText   $csharpLabel

Formatowanie komórek i zakresów

Formatowanie komórek i zakresów Excel jest możliwe przy użyciu obiektu IronXl.Range.Style.

:path=/static-assets/excel/content-code-examples/get-started/get-started-4.cs
// 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;
' 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
$vbLabelText   $csharpLabel

Sortowanie zakresów

Dzięki IronXL można z łatwością sortować zakres komórek Excel przy użyciu obiektu Range.

:path=/static-assets/excel/content-code-examples/get-started/get-started-5.cs
using IronXL;
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();
Imports IronXL

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

' This is how we get range from Excel worksheet
Dim range As Range = workSheet("A2:A8")

' Sort the range in the sheet
range.SortAscending()
workBook.Save()
$vbLabelText   $csharpLabel

Edytowanie formuł

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

:path=/static-assets/excel/content-code-examples/get-started/get-started-6.cs
// Set a formula
workSheet["A1"].Value = "=SUM(A2:A10)";

// Get the calculated value
decimal sum = workSheet["A1"].DecimalValue;
' Set a formula
workSheet("A1").Value = "=SUM(A2:A10)"

' Get the calculated value
Dim sum As Decimal = workSheet("A1").DecimalValue
$vbLabelText   $csharpLabel

Dlaczego warto wybrać IronXL?

IronXL oferuje przyjazne dla programistów API do odczytywania i zapisywania dokumentów Excel w środowisku .NET. Działa bez konieczności instalowania Microsoft Excel ani Excel Interop na serwerze, co sprawia, że obsługa plików Excel jest szybka, lekka i bezproblemowa.

Następne kroki

Aby zapoznać się z dodatkowymi funkcjami i możliwościami, zalecamy przejrzenie Dokumentacji .NET API sformatowanej podobnie do dokumentacji MSDN.

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ę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.