IRONXL VERWENDEN

Öffnen einer Excel-Datei und Schreiben von Daten in C#

Regan Pun
Regan Pun
20. Juni 2023
Aktualisiert 31. März 2024
Teilen Sie:

In diesem Artikel wird die IronXL-Bibliothek untersucht, um zu demonstrieren, wie eine Microsoft Excel-Datei geöffnet und Daten in einer C#-Konsolenanwendung geschrieben werden können.

IronXL - Eine Excel-Bibliothek

IronXL ist eine .NET Excel-Bibliothek, die die Erstellung, das Lesen und Bearbeiten von Excel-Dateien in C#-Anwendungen erleichtert. Es bietet eine außergewöhnliche Leistung und eine genaue Ausgabe. Die Bibliothek unterstützt alle Excel-Arbeitsmappen-Dateiformate, einschließlich XLS, XLSX, XLSM, CSV und TSV. Zusätzlich ermöglicht sie das Speichern oder Exportieren von Daten in Formaten wie JSON, HTML, Binär, Byte-Array, DataSet oder DataTable.

Mit IronXL können Entwickler nahtlos mit Arbeitsblättern und Zellbereichen arbeiten. Es bietet die Möglichkeit, Formeln zu bearbeiten und sie innerhalb eines Blattes einfach neu zu berechnen. Sortieren von Daten basierend auf Bereich, Spalte oder Zeile ist einfach. Die Bibliothek bietet Funktionen zur Anpassung von Layouts, wie z.B. Einfrieren von Bereichen, automatische Größenanpassung von Zeilen/Spalten und Hinzufügen/Entfernen von Zeilen/Spalten.

IronXL ermöglicht auch die Schutz von Excel-Dateien mit Benutzerpasswörtern und Berechtigungen zum Bearbeiten. Eine weitere bemerkenswerte Funktion ist die Möglichkeit, Bilder aus Excel-Arbeitsblättern hinzuzufügen, zu entfernen und zu extrahieren. Die Bibliothek bietet eine breite Palette an Excel-Funktionen und unterstützt verschiedene Zellendatenformate. Diese Eigenschaften machen IronXL zu einer der benutzerfreundlichsten APIs für die Arbeit mit Excel-Dateien.

Einer der wichtigsten Vorteile von IronXL ist, dass Microsoft Excel nicht auf dem Rechner installiert sein muss, so dass weder Office Interop noch andere Abhängigkeiten erforderlich sind. Es ist mit mehreren Plattformen kompatibel und unterstützt .NET 7, 6 und 5. Es ist auch kompatibel mit .NET Core 2 und 3 sowie mit .NET Framework 4.5 und späteren Versionen für die Arbeit mit Excel-Tabellen.

Erstellen einer Konsolenanwendung

Für die Erstellung der Anwendung wird die neueste Version von Visual Studio IDE empfohlen. Visual Studio ist die offizielle IDE für die C#-Entwicklung, und es wird davon ausgegangen, dass Sie sie bereits installiert haben. Wenn Sie Visual Studio noch nicht installiert haben, können Sie es von der offiziellen Microsoft Visual Studio-Website herunterladen.

Folgen Sie diesen Schritten, um ein neues Projekt mit dem Namen "DemoApp" zu erstellen.

  1. Öffnen Sie Visual Studio und klicken Sie auf Create a New Project

    Wie man eine Excel-Datei öffnet und Daten in C# schreibt, Abbildung 1: Neues Projekt

    Neues Projekt

  2. Wählen Sie Konsolenanwendung und klicken Sie auf Weiter

    So öffnen Sie eine Excel-Datei und schreiben Daten in C#, Abbildung 2: Neuer Projekttyp

    Neuer Projekttyp

  3. Geben Sie den Namen des Projekts ein

    Wie man eine Excel-Datei öffnet und Daten in C# schreibt, Abbildung 3: Neuer Projektname

    Neuer Projektname

  4. Wählen Sie die .NET-Version aus. Wählen Sie die stabile Version .NET 6.0.

    Wie man eine Excel-Datei öffnet und Daten in C# schreibt, Abbildung 4: Neue Projektzusatzinformationen

    Neue Projektzusatzinformationen

IronXL-Bibliothek installieren

Sobald das Projekt erstellt ist, muss die IronXL-Bibliothek im Projekt installiert werden, um sie zu verwenden. Befolgen Sie diese Schritte, um es zu installieren.

  1. Öffnen Sie Manage NuGet Packages for Solutions entweder über Solution Explorer oder Tools.

    Wie man eine Excel-Datei öffnet und Daten in C# schreibt, Abbildung 5: NuGet-Paket-Manager

    NuGet-Paket-Manager

  2. Suchen Sie nach IronXL Library und wählen Sie das aktuelle Projekt aus. Klicken Sie auf Installieren.

    Wie man eine Excel-Datei öffnet und Daten in C# schreibt, Abbildung 6: Suchen und installieren Sie das IronXL-Paket im NuGet-Paket-Manager-UI

    Suchen und installieren Sie das IronXL-Paket im NuGet-Paketmanager-UI

    Fügen Sie den folgenden Namespace am Anfang der Datei Program.cs hinzu

using IronXL;
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Öffnen einer bestehenden Excel-Datei in C#;

IronXL bietet die Möglichkeit, eine bestehende Excel-Datei zu öffnen, oder eine neue Excel-Datei zu erstellen. In diesem Beispiel wird eine bestehende Datei mit C# IronXL geöffnet.

// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
$vbLabelText   $csharpLabel

Wählen wir nun das erste Arbeitsblatt aus. Sie können ein Arbeitsblatt anhand der Indexnummer oder des Namens auswählen. Die DefaultWorkSheet-Eigenschaft kann helfen, das erste Blatt zu erhalten.

// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets [0];

// Select worksheet by name 
WorkSheet ws = wb.GetWorkSheet("Sheet1"); 

// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets (0)

' Select worksheet by name 
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")

' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
$vbLabelText   $csharpLabel

Der obige Code ruft das erste Blatt aus der Excel-Arbeitsmappe ab. Um eine neue Excel-Datei mit Daten zu erstellen, sehen Sie sich diese Codebeispiel-Seite an.

Lassen Sie uns nun mit Hilfe der IronXL-Objektbibliothek Daten in die Excel-Datei schreiben.

Daten in eine Excel-Datei schreiben in C#;

Das Schreiben von Daten in eine Excel-Datei mit IronXL ist sehr einfach. Es gibt mehrere Möglichkeiten, diese zu archivieren, aber die einfachste Methode ist die Verwendung des Excel-Zellbezugs.

// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet ["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet ("A1").Value = "Value using cell reference"
$vbLabelText   $csharpLabel

Es ist auch möglich, Daten in einen Bereich von Zellen zu schreiben. Der folgende Code schreibt Daten von Zelle B1 nach B5.

workSheet ["B1:B5"].Value = "Range value";
workSheet ["B1:B5"].Value = "Range value";
workSheet ("B1:B5").Value = "Range value"
$vbLabelText   $csharpLabel

Wir können den Bereich auch mit einer for-Schleife ausfüllen, um ihn dynamisch zu gestalten. Der Code lautet wie folgt:

//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
//specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
    //write the Dynamic value in one row
    workSheet ["C" + i].Value = "Value: " + i;

    //write the Dynamic value in another row
    ws ["D" + i].Value = "Value: " + i;
}
'specify range in which we want to write the values
For i As Integer = 1 To 5
	'write the Dynamic value in one row
	workSheet ("C" & i).Value = "Value: " & i

	'write the Dynamic value in another row
	ws ("D" & i).Value = "Value: " & i
Next i
$vbLabelText   $csharpLabel

Eine weitere Möglichkeit, Daten in eine Excel-Datei zu schreiben, besteht darin, die Replace-Methode zu verwenden.

workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ["D5"].Replace("Value: 5", "Replaced Value");
workSheet ("D5").Replace("Value: 5", "Replaced Value")
$vbLabelText   $csharpLabel

Speichern einer Excel-Datei in C#;

In diesem Abschnitt wird erklärt, wie Sie die Excel-Datei mit dem neu geschriebenen Inhalt speichern.

workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx");
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Der Code lautet wie folgt:

using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
using System;
using IronXL;

static void Main(string [] args)
{
    // Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
    WorkBook workBook = WorkBook.Load("sample.xlsx");

    // Select worksheet at index 0
    WorkSheet workSheet = workBook.WorkSheets [0];

    // Access A1 cell and write the value
    workSheet ["A1"].Value = "Value using cell reference";

    workSheet ["B1:B5"].Value = "Range value";

    //specify range in which we want to write the values
    for (int i = 1; i <= 5; i++)
    {
        //write the Dynamic value in one row
        workSheet ["C" + i].Value = "Value: " + i;

        //write the Dynamic value in another row
        workSheet ["D" + i].Value = "Value: " + i;
    }

    workSheet ["D5"].Replace("Value: 5", "Replaced Value");

    workBook.SaveAs("sample.xlsx");
    Console.WriteLine("successfully written in Excel File");
}
Imports System
Imports IronXL

Shared Sub Main(ByVal args() As String)
	' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
	Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")

	' Select worksheet at index 0
	Dim workSheet As WorkSheet = workBook.WorkSheets (0)

	' Access A1 cell and write the value
	workSheet ("A1").Value = "Value using cell reference"

	workSheet ("B1:B5").Value = "Range value"

	'specify range in which we want to write the values
	For i As Integer = 1 To 5
		'write the Dynamic value in one row
		workSheet ("C" & i).Value = "Value: " & i

		'write the Dynamic value in another row
		workSheet ("D" & i).Value = "Value: " & i
	Next i

	workSheet ("D5").Replace("Value: 5", "Replaced Value")

	workBook.SaveAs("sample.xlsx")
	Console.WriteLine("successfully written in Excel File")
End Sub
$vbLabelText   $csharpLabel

Für detailliertere Informationen zum Lesen von Excel-Dateidaten in C#, sehen Sie sich dieses Beispiel an.

Ausgabe

Die Ausgabe der Datei ist:

So öffnen Sie eine Excel-Datei und schreiben Daten in C#, Abbildung 7: Die ausgegebene Excel-Datei

Die Ausgabedatei in Excel

Zusammenfassung

Dieser Artikel zeigt, wie man mit IronXL in C# Daten in Excel-Dateien schreibt. IronXL bietet die Möglichkeit, mit vorhandenen Excel-Dateien zu arbeiten, ohne dass es zu Problemen kommt. Außerdem können Sie damit neue Excel-Dateien erstellen und Daten mit einer einfachen Syntax in diese Dateien schreiben. IronXL kann auch zum Lesen von Excel-Dateien verwendet werden, ohne dass die Microsoft Excel-Anwendung installiert ist. Um Daten aus Excel-Dateien zu lesen, können Sie diese Code-Beispielseite ansehen.

IronXL ist für die Entwicklung kostenlos und kann für die kommerzielle Nutzung lizenziert werden. Sie können auch die kostenlose Testversion von IronXL für kommerzielle Nutzung ausprobieren.

Regan Pun
Software-Ingenieur
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.
< PREVIOUS
So deaktivieren Sie die geschützte Ansicht in Excel mit C#
NÄCHSTES >
Wie exportiert man große Daten von Datatable zu Excel in C#

Sind Sie bereit, loszulegen? Version: 2025.4 gerade veröffentlicht

Lizenzen anzeigen >