IRONXL VERWENDEN

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

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 Library, die das Erstellen, 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-Arbeitsmappendateiformate, einschließlich XLS, XLSX, XLSM, CSV und TSV. Außerdem können Daten in Formaten wie JSON, HTML, Binär und Byte-Array gespeichert oder exportiert werden, 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. Daten sortieren basierend auf Bereich, Spalte oder Zeile ist einfach. Die Bibliothek bietet Funktionen zur Änderung von Layouts, wie z. B gefrierscheiben, automatische Größenanpassung von Zeilen/Spaltenund hinzufügen/Entfernen von Zeilen/Spalten.

IronXL auch ermöglicht den Schutz von Excel-Dateien mit Benutzerkennwörtern und Berechtigungen zur Bearbeitung. 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 von Excel-Funktionen, die verschiedene zelldatenformate. 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 nicht installiert haben, können Sie es von der offiziellen Microsoft Visual Studio-Website.

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

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 1: Neues Projekt

     **Neues Projekt**
  2. Wählen Sie Konsolenanwendung und klicken Sie auf Weiter

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 2: Neuer Projekttyp

     **Neuer Projekttyp**
  3. Geben Sie den Namen des Projekts ein

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 3: Neuer Projektname

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

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 4: Neues Projekt Zusätzliche Informationen

     **Neues Projekt Zusatzinformationen**

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.

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 5: NuGet Package Manager

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

    Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 6: Suchen und Installieren des IronXL-Pakets in der NuGet Package Manager UI

     **Das IronXL-Paket in der NuGet Package Manager UI suchen und installieren**

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

using IronXL;
using IronXL;
Imports IronXL
VB   C#

Ö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")
VB   C#

Wählen wir nun das erste Arbeitsblatt aus. Sie können ein Arbeitsblatt anhand der Indexnummer oder des Namens auswählen. Die Eigenschaft DefaultWorkSheet 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
VB   C#

Der obige Code ruft das erste Blatt aus der Excel-Arbeitsmappe ab. Um eine neue Excel-Datei mit Daten zu erstellen, gehen Sie folgendermaßen vor code-Beispielseite.

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"
VB   C#

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"
VB   C#

Wir können den Bereich auch mit einer "for"-Schleife ausfüllen, die ihn dynamisch macht. 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
VB   C#

Eine weitere Möglichkeit, Daten in eine Excel-Datei zu schreiben, ist die Verwendung des Befehls ersetzen methode.

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

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")
VB   C#

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
VB   C#

Ausführlichere Informationen über das Lesen von Excel-Dateien in C# finden Sie unter dieses Beispiel.

Ausgabe

Die Ausgabe der Datei ist:

Öffnen einer Excel-Datei und Schreiben von Daten in C#, Abbildung 7: Die Excel-Ausgabedatei

Die Excel-Ausgabedatei

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 folgendes sehen code-Beispielseite.

IronXL ist für die Entwicklung kostenlos und kann für die kommerzielle Nutzung lizenziert werden. Sie können IronXL auch kostenlos testen versuch für die kommerzielle Nutzung.

< 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: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 1,068,832 Lizenzen anzeigen >