A Guide to Reading and Writing Excel Files in C
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
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
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")
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")
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
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()
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
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.

