
Wie man Excel-Dateien in C# öffnet
IronXL ermöglicht es C#-Entwicklern, Excel-Dateien zu öffnen, zu lesen und zu bearbeiten, ohne dass Microsoft Office installiert werden muss. Laden Sie einfach Arbeitsmappen mit WorkBook.Load(), greifen Sie auf Arbeitsblätter zu und lesen Sie Zellwerte mit intuitiver Syntax wie sheet["A1"].
Dieses Tutorial zeigt, wie man mit IronXL Excel-Dateien in C#-Projekten öffnet und liest und bietet Nachwuchsentwicklern umfassende Beispiele und Best Practices für die Arbeit mit Excel-Daten .
Was ist die IronXL Excel-Bibliothek?
IronXL ist eine .NET Bibliothek, die Benutzerfreundlichkeit, Genauigkeit und Geschwindigkeit in den Vordergrund stellt. Es hilft Ihnen, Excel-Dateien effizient zu öffnen, zu lesen, zu erstellen und zu bearbeiten , ohne dass MS Office Interop erforderlich ist. Dadurch ist es eine praktische Wahl für Entwickler, die mit Excel in C# ohne Interop arbeiten möchten.
IronXL ist kompatibel mit allen .NET Frameworks sowie mit Linux , macOS , Docker , Azure und AWS . Sie können damit Konsolen-, Web- und Desktop-Anwendungen wie Blazor und .NET MAUI für moderne Web-Apps erstellen. Es unterstützt verschiedene Arbeitsmappenformate wie XLS- und XLSX-Dateien, XSLT- und XLSM-Dateien, CSV und TSV.
Was sind die wichtigsten Merkmale von IronXL?
- Daten in den Formaten XLS/XLSX/CSV/TSV mit LoadSpreadsheets öffnen, lesen und durchsuchen.
- Exportieren Sie Excel-Arbeitsblätter in verschiedene Formate mit der Funktion "Speichern & Exportieren" .
- Dateien mit Passwörtern unter Verwendung sicherer Funktionen verschlüsseln und entschlüsseln.
- Arbeiten Sie mit Excel-Blättern als
DataSetundDataTable-Objekte durch DataSet-Integration. - Excel- Formeln werden automatisch neu berechnet und unterstützen mathematische Funktionen .
- Bearbeiten Sie Tabellendaten mit intuitiver Bereichssyntax wie
WorkSheet["A1:B10"]. - Zellbereiche , Spalten und Zeilen sortieren.
- Zellen mit Schriftart , Hintergrund , Rahmen , Ausrichtung und Zahlenformaten formatieren .
Wie öffnet man eine Excel-Datei in C#?
Was benötige ich vor dem Start?
Um IronXL in C#-Anwendungen zu verwenden, installieren Sie die folgenden Komponenten auf Ihrem lokalen Computer:
- Visual Studio – 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
JetBrainsReSharper& Rider verwenden. Weitere Hinweise zur Einrichtung finden Sie in der Übersicht "Erste Schritte" . - IronXL - Die Excel-Bibliothek, die die Arbeit mit Excel-Tabellen in C# erleichtert. Es muss in Ihrer C#-Anwendung installiert werden, bevor Sie es verwenden. Sie können es von der NuGet Website oder über die Verwaltung von NuGet -Paketen in Visual Studio herunterladen. Sie können auch die .NET Excel DLL-Datei direkt herunterladen. Informationen zur Lizenzimplementierung finden Sie unter Verwendung von Lizenzschlüsseln .
Welche Namensräume soll ich importieren?
Sobald Visual Studio und IronXL installiert sind, fügen Sie die notwendigen IronXL-Namespace durch Hinzufügen der folgenden Zeile am Anfang Ihrer C#-Datei ein:
// Add reference to the IronXL library
using IronXL;' Add reference to the IronXL library
Imports IronXLFür die Arbeit mit bestimmten Excel-Formaten oder erweiterten Funktionen benötigen Sie möglicherweise auch:
using IronXL.Formatting; // For cell styling
using IronXL.Drawing; // For images and charts
using System.Data; // For DataSet/DataTable operationsImports IronXL.Formatting ' For cell styling
Imports IronXL.Drawing ' For images and charts
Imports System.Data ' For DataSet/DataTable operationsWie lade ich eine bestehende Excel-Datei?
Excel-Dateien, auch bekannt als Arbeitsmappen, bestehen aus mehreren Arbeitsblättern, die jeweils Zellwerte enthalten. Um eine Excel-Datei zu öffnen und zu lesen, laden Sie sie mit der Load-Methode der WorkBook-Klasse. Die LoadSpreadsheets- Funktion unterstützt verschiedene Formate.
// Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("test.xlsx");
// You can also load from streams for web applications
// using (var stream = File.OpenRead("test.xlsx"))
// {
// WorkBook workbook = WorkBook.Load(stream);
// }' Supported Excel spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
' You can also load from streams for web applications
' Using stream = File.OpenRead("test.xlsx")
' Dim workbook As WorkBook = WorkBook.Load(stream)
' End UsingDies initialisiert die Arbeitsmappe als eine WorkBook-Instanz. Um ein spezifisches WorkSheet zu öffnen, holen Sie es aus der WorkSheets-Sammlung. Der Leitfaden "Arbeitsblatt verwalten" enthält weitere Details zu den Vorgängen in Arbeitsblättern:
// Access the first worksheet in the workbook
WorkSheet sheet = workbook.WorkSheets.First();
// Alternative ways to access worksheets
WorkSheet sheetByIndex = workbook.WorkSheets[0]; // By index
WorkSheet sheetByName = workbook.GetWorkSheet("Sheet1"); // By name' Access the first worksheet in the workbook
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Alternative ways to access worksheets
Dim sheetByIndex As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheetByName As WorkSheet = workbook.GetWorkSheet("Sheet1") ' By nameDamit wird das erste Blatt in der Excel-Datei aufgerufen, bereit zum Lesen und Schreiben.
Excel-Datei
Wie lese ich Daten aus Excel-Zellen aus?
Sobald die Excel-Datei geöffnet ist, können die Daten gelesen werden. Daten aus Excel-Dateien in C# mit IronXL zu lesen, ist unkompliziert. Sie können Zellwerte lesen, indem Sie die Zellreferenz mithilfe der Funktion "Bereich auswählen" angeben.
Der folgende Code ruft den Wert einer Zelle ab:
// Select the cell using Excel notation and retrieve its integer value
int cellValue = sheet["C2"].IntValue;
// You can also retrieve values in different formats
string textValue = sheet["C2"].StringValue;
decimal decimalValue = sheet["C2"].DecimalValue;
DateTime dateValue = sheet["C2"].DateTimeValue;
bool boolValue = sheet["C2"].BoolValue;
// Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}");
// Check if cell is empty before reading
if (!sheet["C2"].IsEmpty)
{
Console.WriteLine($"Cell value: {sheet["C2"].Value}");
}' Select the cell using Excel notation and retrieve its integer value
Dim cellValue As Integer = sheet("C2").IntValue
' You can also retrieve values in different formats
Dim textValue As String = sheet("C2").StringValue
Dim decimalValue As Decimal = sheet("C2").DecimalValue
Dim dateValue As DateTime = sheet("C2").DateTimeValue
Dim boolValue As Boolean = sheet("C2").BoolValue
' Display the value in the console
Console.WriteLine($"Cell C2 contains: {cellValue}")
' Check if cell is empty before reading
If Not sheet("C2").IsEmpty Then
Console.WriteLine($"Cell value: {sheet("C2").Value}")
End IfDas Ergebnis ist wie folgt:
Excel lesen
Um Daten aus einem Zellbereich zu lesen, verwenden Sie eine Schleife, um den angegebenen Bereich zu durchlaufen. Das Beispiel "Excel-Bereich auswählen" liefert weitere Muster:
// Iterate through a range of cells and display their address and text content
foreach (var cell in sheet["A2:A6"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Read an entire column
foreach (var cell in sheet.GetColumn(0)) // Column A
{
if (!cell.IsEmpty)
{
Console.WriteLine($"Column A value: {cell.Text}");
}
}
// Read an entire row
foreach (var cell in sheet.GetRow(1)) // Row 2
{
Console.WriteLine($"Row 2 value: {cell.Text}");
}' Iterate through a range of cells and display their address and text content
For Each cell In sheet("A2:A6")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next
' Read an entire column
For Each cell In sheet.GetColumn(0) ' Column A
If Not cell.IsEmpty Then
Console.WriteLine($"Column A value: {cell.Text}")
End If
Next
' Read an entire row
For Each cell In sheet.GetRow(1) ' Row 2
Console.WriteLine($"Row 2 value: {cell.Text}")
NextJeder Wert im Zellbereich A2:A6 wird zugegriffen und auf die Konsole gedruckt.
Bereich von Zellen lesen
Für detailliertere Lese- und Schreibbeispiele konsultieren Sie bitte das Excel-Lese-Tutorial in C# . Sie können Excel-Daten auch in DataTables konvertieren, um sie einfacher bearbeiten zu können:
// Convert worksheet to DataTable for easier data manipulation
DataTable dataTable = sheet.ToDataTable(true); // true = first row contains headers
// Access data using DataTable methods
foreach (DataRow row in dataTable.Rows)
{
Console.WriteLine($"Employee: {row["Name"]}, Salary: {row["Salary"]}");
}' Convert worksheet to DataTable for easier data manipulation
Dim dataTable As DataTable = sheet.ToDataTable(True) ' True = first row contains headers
' Access data using DataTable methods
For Each row As DataRow In dataTable.Rows
Console.WriteLine($"Employee: {row("Name")}, Salary: {row("Salary")}")
NextWie kann ich eine neue Excel-Datei erstellen?
IronXL ermöglicht außerdem das Erstellen neuer Arbeitsmappen zum Speichern und Abrufen von Daten. Der Leitfaden "Tabellenkalkulationen erstellen" enthält umfassende Beispiele.
Sie können eine neue Excel-Datei mit einer einzigen Codezeile erstellen:
// Create a new workbook with the XLSX format
WorkBook workBook = new WorkBook(ExcelFileFormat.XLSX);
// Alternative: Create with XLS format for compatibility
WorkBook xlsWorkBook = new WorkBook(ExcelFileFormat.XLS);
// Set workbook metadata
workBook.Metadata.Title = "Employee Data";
workBook.Metadata.Author = "Your Name";
workBook.Metadata.Keywords = "employees, salary, data";' Create a new workbook with the XLSX format
Dim workBook As New WorkBook(ExcelFileFormat.XLSX)
' Alternative: Create with XLS format for compatibility
Dim xlsWorkBook As New WorkBook(ExcelFileFormat.XLS)
' Set workbook metadata
workBook.Metadata.Title = "Employee Data"
workBook.Metadata.Author = "Your Name"
workBook.Metadata.Keywords = "employees, salary, data"Erstellen Sie ein Arbeitsblatt und fügen Sie Daten hinzu. Weitere Informationen zu fortgeschrittenen Erstellungsmustern finden Sie unter Erstellen einer neuen Excel-Datei .
Wie füge ich Arbeitsblätter zu einer Arbeitsmappe hinzu?
// Create a worksheet named "GDPByCountry" in the workbook
WorkSheet workSheet = workBook.CreateWorkSheet("GDPByCountry");
// Create multiple worksheets at once
WorkSheet sheet2 = workBook.CreateWorkSheet("PopulationData");
WorkSheet sheet3 = workBook.CreateWorkSheet("Summary");
// Copy an existing worksheet
WorkSheet copiedSheet = workSheet.CopySheet("GDPByCountryCopy");' Create a worksheet named "GDPByCountry" in the workbook
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("GDPByCountry")
' Create multiple worksheets at once
Dim sheet2 As WorkSheet = workBook.CreateWorkSheet("PopulationData")
Dim sheet3 As WorkSheet = workBook.CreateWorkSheet("Summary")
' Copy an existing worksheet
Dim copiedSheet As WorkSheet = workSheet.CopySheet("GDPByCountryCopy")Dieser Code fügt der Arbeitsmappe ein Arbeitsblatt namens "GDPByCountry" hinzu, das Ihnen ermöglicht, Zellwerte hinzuzufügen. Erfahren Sie mehr über das Verwalten und Kopieren von Arbeitsblättern .
Für eine bestimmte Zelle setzen Sie den Wert mit diesem Code:
// Set the value of cell A1 to "Example"
workSheet["A1"].Value = "Example";
// Add different types of data
workSheet["A2"].Value = 12345; // Integer
workSheet["A3"].Value = 99.99m; // Decimal
workSheet["A4"].Value = DateTime.Now; // Date
workSheet["A5"].Value = true; // Boolean
// Add formulas
workSheet["B1"].Formula = "=SUM(A2:A3)";
// Set multiple cells at once using a range
workSheet["C1:C5"].Value = "Bulk Value";
// Save the workbook
workBook.SaveAs("output.xlsx");' Set the value of cell A1 to "Example"
workSheet("A1").Value = "Example"
' Add different types of data
workSheet("A2").Value = 12345 ' Integer
workSheet("A3").Value = 99.99D ' Decimal
workSheet("A4").Value = DateTime.Now ' Date
workSheet("A5").Value = True ' Boolean
' Add formulas
workSheet("B1").Formula = "=SUM(A2:A3)"
' Set multiple cells at once using a range
workSheet("C1:C5").Value = "Bulk Value"
' Save the workbook
workBook.SaveAs("output.xlsx")Das endgültige Ergebnis ist:
Wert zur Zelle hinzufügen
Arbeiten mit verschiedenen Excel-Formaten
IronXL unterstützt mehrere Excel-Formate. So gehen Sie mit verschiedenen Dateitypen um:
// Convert between formats
WorkBook workbook = WorkBook.Load("data.csv");
workbook.SaveAs("data.xlsx"); // Convert CSV to XLSX
// Export to different formats
workbook.SaveAsCsv("output.csv", ";"); // CSV with semicolon delimiter
workbook.SaveAsJson("output.json"); // Export as JSON
workbook.SaveAsXml("output.xml"); // Export as XML' Convert between formats
Dim workbook As WorkBook = WorkBook.Load("data.csv")
workbook.SaveAs("data.xlsx") ' Convert CSV to XLSX
' Export to different formats
workbook.SaveAsCsv("output.csv", ";") ' CSV with semicolon delimiter
workbook.SaveAsJson("output.json") ' Export as JSON
workbook.SaveAsXml("output.xml") ' Export as XMLErfahren Sie mehr über die Konvertierung von Tabellenkalkulationsdateitypen und die Konvertierung von XLSX in CSV, JSON, XML .
Fehlerbehandlung und bewährte Praktiken
Bei der Arbeit mit Excel-Dateien ist eine angemessene Fehlerbehandlung zu implementieren:
try
{
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet sheet = workbook.GetWorkSheet("Sheet1");
// Check if sheet exists
if (sheet == null)
{
Console.WriteLine("Worksheet not found!");
return;
}
// Process data
var value = sheet["A1"].Value;
}
catch (Exception ex)
{
Console.WriteLine($"Error reading Excel file: {ex.Message}");
}Try
Dim workbook As WorkBook = WorkBook.Load("test.xlsx")
Dim sheet As WorkSheet = workbook.GetWorkSheet("Sheet1")
' Check if sheet exists
If sheet Is Nothing Then
Console.WriteLine("Worksheet not found!")
Return
End If
' Process data
Dim value = sheet("A1").Value
Catch ex As Exception
Console.WriteLine($"Error reading Excel file: {ex.Message}")
End TryFür Produktionsanwendungen empfiehlt sich die Einrichtung von Protokollierung und die Implementierung geeigneter Fehlerbehandlungsmuster .
Was haben wir gelernt?
Dieser Artikel demonstriert, wie man Excel-Dateien, wie XLS und XLSX, in C# mit IronXL öffnet und liest. IronXL benötigt für Excel-bezogene Aufgaben keine Installation von Microsoft Excel auf dem System und eignet sich daher perfekt für Docker-Bereitstellungen und Azure Functions .
IronXL bietet eine umfassende Lösung für die programmatische Ausführung von Excel-bezogenen Aufgaben, einschließlich Formelberechnungen , Sortierung von Zeichenketten, Kürzen von Text, Suchen und Ersetzen, Zusammenführen und Aufheben der Zusammenführung , Speichern von Dateien und mehr. Sie können außerdem Zelldatenformate festlegen, mit bedingter Formatierung arbeiten und Diagramme erstellen .
Weitere Funktionen finden Sie unter Gruppierung und Aufhebung der Gruppierung , benannte Bereiche , Hyperlinks und Schutz von Excel-Dateien . Die vollständige API-Referenz bietet eine detaillierte Dokumentation aller Funktionen.
IronXL kann 30 Tage lang kostenlos getestet werden und ist auch für die kommerzielle Nutzung lizenzierbar . Das Lite-Paket von IronXL beginnt bei $999. Weitere Ressourcen finden Sie im Tutorial-Bereich oder in den Codebeispielen für gängige Anwendungsfälle.

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.
Verwandte Artikel



