using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
In diesem Tutorial wird IronXL als Hauptwerkzeug zum Öffnen und Lesen von Excel-Dateien in C#-Projekten verwendet.
IronXL Excel-Bibliothek
IronXL ist eine .NET-Bibliothek, die Benutzerfreundlichkeit, Genauigkeit und Geschwindigkeit für ihre Nutzer priorisiert. Es hilft Ihnen, Excel-Dateien blitzschnell und ohne Fehler zu öffnen, zu lesen, zu erstellen und zu bearbeiten. Es funktioniert ohne MS Office Interop, was es zu einem leistungsstarken Werkzeug für Entwickler macht.
IronXL ist mit allen .NET-Frameworks sowie mit Linux, MacOS, Docker, Azure und AWS kompatibel. Es kann zur Erstellung von Konsolen-, Web- und Desktopanwendungen wie Blazor und MAUI für moderne Webanwendungen verwendet werden. Es unterstützt verschiedene Arbeitsmappenformate wie XLS- und XLSX-Dateien, XSLT und XLSM, CSV und TSV.
Einige wichtige IronXL-Merkmale
Öffnen, lesen und durchsuchen von Daten in verschiedenen Formaten (XLS/XLSX-Datei/CSV/TSV).
Exportieren Sie Excel-Arbeitsblätter in XLS/XLSX/CSV/TSV/JSON.
Verschlüsseln und Entschlüsseln von XLSX/XLSM/XLTX-Dateien mit Passwörtern.
Arbeiten Sie mit Excel-Blättern als System.Data.DataSet- und System.Data.DataTable-Objekten.
Die Formeln einer Excel-Datei werden bei jeder Bearbeitung eines Blattes automatisch neu berechnet.
Um IronXL in C#-Anwendungen zu verwenden, müssen diese Komponenten auf Ihrem lokalen Computer installiert werden:
Visual Studio - Es ist die offizielle IDE für die Entwicklung von C# .NET-Anwendungen. Sie können Visual Studio von der Microsoft-Website herunterladen und installieren. Sie können auch Jetbrains ReSharper & Rider verwenden.
IronXL - Es ist die Excel-Bibliothek, die dabei hilft, mit Excel-Tabellen an einem angegebenen Pfad in C# zu arbeiten. Es muss in Ihrer C#-Anwendung installiert werden, bevor Sie es verwenden können. Es kann von der NuGet-Website oder über die NuGet-Paketverwaltung in Visual Studio-Tools heruntergeladen werden. Sie können auch die .NET Excel DLL-Datei direkt herunterladen.
Hinzufügen notwendiger Namensräume
Sobald Visual Studio und IronXL installiert sind, müssen die IronXL-Namensräume im Quellcode referenziert werden. Fügen Sie die folgende Codezeile am Anfang der Datei in einem neuen Projekt ein, in dem die IronXL-Funktionen verwendet werden sollen:
//add reference
using IronXL;
//add reference
using IronXL;
'add reference
Imports IronXL
$vbLabelText $csharpLabel
Öffnen einer bestehenden Excel-Datei in C#;
Excel-Dateien werden auch als Arbeitsmappen bezeichnet. Jede Arbeitsmappe enthält mehrere Arbeitsblätter, und jedes Arbeitsblatt enthält Zellwerte. Um eine Excel-Datei zu öffnen und zu lesen, sollte sie mit der WorkBook-Klasse über die Load-Methode geladen werden.
//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
//Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
'Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
$vbLabelText $csharpLabel
Dies öffnet die Excel-Datei in der Instanz-Referenzvariablen WorkBook. Es kann mehrere Arbeitsblätter haben, sodass es verwendet werden kann, um ein bestimmtes WorkSheet oder alle gleichzeitig zu öffnen. Der folgende Code öffnet das erste WorkSheet in der sheet-Instanzvariable:
WorkSheet sheet = workbook.WorkSheets.First();
WorkSheet sheet = workbook.WorkSheets.First();
Dim sheet As WorkSheet = workbook.WorkSheets.First()
$vbLabelText $csharpLabel
Dadurch wird das erste Blatt in einer Excel-Datei geöffnet und es können nun Daten in dieses Blatt geschrieben und gelesen werden.
Die hier geöffnete Excel-Datei lautet:
Excel-Datei
Lesen von Excel-Dateien in C##
Sobald die Excel-Datei geöffnet ist, ist sie bereit, Daten zu lesen. Das Lesen von Daten aus Excel-Dateien in C# mit IronXL ist sehr leicht und einfach. Sie können Zellwerte lesen, indem Sie einfach die Referenznummer der Zelle angeben.
Der folgende Code ruft den Wert einer Zelle aus der Datei ab:
//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;
//Display the value
Console.WriteLine(cellValue);
//Select cells easily in Excel-notation and return the value
int cellValue = sheet ["C2"].IntValue;
//Display the value
Console.WriteLine(cellValue);
'Select cells easily in Excel-notation and return the value
Dim cellValue As Integer = sheet ("C2").IntValue
'Display the value
Console.WriteLine(cellValue)
$vbLabelText $csharpLabel
Die Ausgabe lautet wie folgt:
Excel lesen
Lassen Sie uns nun Daten aus einem Bereich von Zellen in der geöffneten Excel-Datei lesen. Der Code lautet wie folgt:
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read from Range of cells elegantly.
foreach (var cell in sheet ["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Read from Range of cells elegantly.
For Each cell In sheet ("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
$vbLabelText $csharpLabel
Auf den Wert in der Zelle innerhalb des Zellbereichs A2 - A6 wird mit einer for-Schleife zugegriffen. Jeder Wert wird auf der Konsole ausgegeben.
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
$vbLabelText $csharpLabel
Die oben gezeigte Codezeile erstellt ein Arbeitsblatt mit dem Namen "GDPByCountry" in der derzeit geladenen Arbeitsmappe, und es können jetzt Zellwerte in das aktuelle WorkSheet eingefügt werden.
Der folgende Code fügt der Zelle A1 einen Wert hinzu:
workSheet ["A1"].Value = "Example";
workSheet ["A1"].Value = "Example";
workSheet ("A1").Value = "Example"
$vbLabelText $csharpLabel
Die endgültige Ausgabe sieht wie folgt aus:
Wert zur Zelle hinzufügen
Zusammenfassung
Dieser Artikel demonstriert, wie man Excel-Dateien wie XLS, XLSX usw. in C# mit IronXL öffnet und liest. IronXL setzt nicht voraus, dass Microsoft Excel auf dem System installiert ist, um alle Excel-bezogenen Aufgaben auszuführen.
IronXL ist für eine kostenlose 30-Tage-Testversion verfügbar und kann für den kommerziellen Gebrauch lizenziert werden. Das Lite-Paket von IronXL beginnt ab $749.
Regan schloss sein Studium an der University of Reading mit einem BA in Elektrotechnik ab. Bevor er zu Iron Software kam, konzentrierte er sich in seinen früheren Jobs auf einzelne Aufgaben. Was ihm bei Iron Software am meisten Spaß macht, ist das Spektrum der Aufgaben, die er übernehmen kann, sei es im Vertrieb, im technischen Support, in der Produktentwicklung oder im Marketing. Es macht ihm Spaß, die Art und Weise zu verstehen, wie Entwickler die Bibliothek von Iron Software nutzen, und dieses Wissen zu nutzen, um die Dokumentation und die Produkte kontinuierlich zu verbessern.