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

A Guide to Reading and Writing Excel Files in 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 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

Firstly install IronXL, using our NuGet package or by downloading the DLL. IronXL classes can be found in the IronXL namespace.

Najłatwiejszym sposobem na zainstalowanie 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

Z IronXL ekstrakcja danych z pliku Excel może być wykonana 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 łatwy interfejs do generowania dokumentów Excel za pomocą 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 jako CSV, XLS, XLSX, JSON lub XML

IronXL pozwala również na 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

Stylizacja komórek i zakresów

Możesz zastosować formatowanie do komórek i zakresów Excel 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

Z IronXL możesz łatwo sortować zakres komórek Excel używając 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

Dłączego 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
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 2,052,917 | Wersja: 2026.6 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.