Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Excel-Dateien öffnet und Daten in C# schreibt

Dieser Artikel wird die IronXL-Bibliothek untersuchen, um zu demonstrieren, wie man eine Microsoft Excel-Datei öffnet und Daten in einer C#-Konsolenanwendung hineinschreibt.

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 außergewöhnliche Leistung und genaue Ergebnisse. The library supports all Excel workbook file formats, including XLS, XLSX, XLSM, CSV, and TSV. Additionally, it allows data to be saved or exported in formats such as JSON, HTML, Binary, Byte Array, DataSet, or 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 unkompliziert. The library provides features to modify layouts, such as freezing panes, auto-sizing rows/columns, and adding/removing rows/columns.

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

Einer der wesentlichen Vorteile von IronXL ist, dass es keine Installation von Microsoft Excel auf dem Computer erfordert, was die Notwendigkeit von Office Interop oder anderen Abhängigkeiten beseitigt. Es ist mit mehreren Plattformen kompatibel und unterstützt .NET 7, 6 und 5. Es ist auch mit .NET Core 2 und 3 sowie .NET Framework 4.5 und späteren Versionen für die Arbeit mit Excel-Tabellenblättern kompatibel.

Erstellen Sie eine Konsolenanwendung

Die neueste Version des Visual Studio IDE wird empfohlen, um die Anwendung zu erstellen. Visual Studio ist die offizielle IDE für die C#-Entwicklung, und es wird davon ausgegangen, dass Sie es 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 Erstellen eines neuen Projekts

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

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

Wie man Excel-Dateien öffnet und Daten in C# schreibt, Abbildung 2: Neuer Projekttyp Neuer Projekttyp

  1. Geben Sie den Projektnamen ein

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

  1. Wählen Sie die .NET-Version. Wählen Sie die stabile Version .NET 6.0.

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

IronXL-Bibliothek installieren

Sobald das Projekt erstellt ist, muss die IronXL-Bibliothek installiert werden, um sie im Projekt zu nutzen. Folgen Sie diesen Schritten, um sie zu installieren.

  1. Öffnen Sie NuGet-Pakete verwalten für Projektmappen entweder aus dem Projektmappen-Explorer oder aus den Tools.

Wie man Excel-Dateien öffnet und Daten in C# schreibt, Abbildung 5: NuGet-Paketmanager NuGet-Paketmanager

  1. Suchen Sie die IronXL-Bibliothek und wählen Sie das aktuelle Projekt. Klicken Sie auf Install.

Wie man Excel-Dateien öffnet und Daten in C# schreibt, Abbildung 6: Suchen und Installieren des IronXL-Pakets im NuGet-Paketmanager UI Suchen und installieren Sie das IronXL-Paket im NuGet-Paket-Manager-UI

Fügen Sie das folgende Namensraum am Anfang der Program.cs-Datei hinzu

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

Existierende Excel-Datei in C# öffnen

IronXL bietet die Möglichkeit, eine vorhandene Excel-Datei zu öffnen oder eine neue Excel-Datei zu erstellen. Dieses Beispiel wird eine vorhandene Datei mit C# IronXL öffnen.

// 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

Lassen Sie uns nun dessen erstes Arbeitsblatt auswählen. Sie können ein Arbeitsblatt nach Indexnummer oder nach Name 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 = workBook.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 = workBook.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 = workBook.GetWorkSheet("Sheet1")

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

Der obige Code erhält das erste Blatt aus der Excel-Arbeitsmappe. Um eine neue Excel-Datei mit Daten zu erstellen, sehen Sie sich diese Programmbeispielseite an.

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

Daten in eine Excel-Datei in C# schreiben

Das Schreiben von Daten in eine Excel-Datei mit IronXL ist sehr einfach. Es gibt mehrere Möglichkeiten, dies zu erreichen, aber die einfachste Methode ist, die Excel-Zellenreferenz zu verwenden.

// 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 bis B5.

// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
$vbLabelText   $csharpLabel

Wir können den Bereich auch mit einer for-Schleife ausfüllen, wodurch er dynamisch wird. Der Code sieht wie folgt aus:

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

    // Write the Dynamic value in column D
    workSheet["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 column C
    workSheet["C" + i].Value = "Value: " + i;

    // Write the Dynamic value in column D
    workSheet["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 column C
	workSheet("C" & i).Value = "Value: " & i

	' Write the Dynamic value in column D
	workSheet("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.

// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
$vbLabelText   $csharpLabel

Excel-Datei in C# speichern

Dieser Abschnitt erklärt, wie die Excel-Datei mit neu geschriebenem Inhalt gespeichert wird.

// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Der vollständige Code sieht wie folgt aus:

using System;
using IronXL;

class Program
{
    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";

        // Write the same value to cells from B1 to B5
        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 column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
using System;
using IronXL;

class Program
{
    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";

        // Write the same value to cells from B1 to B5
        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 column C
            workSheet["C" + i].Value = "Value: " + i;

            // Write the Dynamic value in column D
            workSheet["D" + i].Value = "Value: " + i;
        }

        // Replace the value in cell D5
        workSheet["D5"].Replace("Value: 5", "Replaced Value");

        // Save the updated Excel workbook to a file
        workBook.SaveAs("sample.xlsx");
        Console.WriteLine("Successfully written to Excel File");
    }
}
Imports System
Imports IronXL

Friend Class Program
	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"

		' Write the same value to cells from B1 to B5
		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 column C
			workSheet("C" & i).Value = "Value: " & i

			' Write the Dynamic value in column D
			workSheet("D" & i).Value = "Value: " & i
		Next i

		' Replace the value in cell D5
		workSheet("D5").Replace("Value: 5", "Replaced Value")

		' Save the updated Excel workbook to a file
		workBook.SaveAs("sample.xlsx")
		Console.WriteLine("Successfully written to Excel File")
	End Sub
End Class
$vbLabelText   $csharpLabel

Für detailliertere Informationen, wie man Excel-Dateidaten in C# liest, werfen Sie einen Blick auf dieses Beispiel.

Ausgabe

Die Ausgabe der Datei ist:

Wie man Excel-Dateien öffnet und Daten in C# schreibt, Abbildung 7: Die ausgegebene Excel-Datei Die ausgegebene Excel-Datei

Zusammenfassung

Dieser Artikel zeigte, wie man Daten in Excel-Dateien in C# mit IronXL schreibt. IronXL bietet die Möglichkeit, mit vorhandenen Excel-Dateien mühelos zu arbeiten. Es ermöglicht auch die Erstellung neuer Excel-Dateien und das Schreiben von Daten mit einfacher Syntax. IronXL kann auch verwendet werden, um Excel-Dateien ohne installierte Microsoft Excel-Anwendung zu lesen. Um Daten aus Excel-Dateien zu lesen, können Sie diese Programmbeispielseite ansehen.

IronXL ist kostenlos für die Entwicklung und kann für den kommerziellen Gebrauch lizenziert werden. Sie können auch die IronXL kostenfreie Testlizenz für kommerzielle Zwecke ausprobieren.

Häufig gestellte Fragen

Wie kann ich eine Excel-Datei in C# öffnen, ohne Interop zu verwenden?

Sie können eine Excel-Datei in C# öffnen, ohne Interop zu verwenden, indem Sie die IronXL-Bibliothek nutzen. IronXL ermöglicht es Ihnen, Excel-Dateien effizient zu bearbeiten, ohne Microsoft Excel installieren zu müssen, was die Leistung und Kompatibilität verbessert.

Wie schreibe ich Daten in eine bestimmte Zelle in einer Excel-Datei mit C#?

Mit IronXL können Sie Daten in eine bestimmte Zelle in einer Excel-Datei schreiben, indem Sie die Arbeitsmappe öffnen, das Arbeitsblatt auswählen und dann mit Zellreferenzen Werte zu den gewünschten Zellen hinzufügen.

Welche Vorteile bietet IronXL gegenüber Office Interop für die Manipulation von Excel-Dateien?

IronXL bietet mehrere Vorteile gegenüber Office Interop, darunter die Unabhängigkeit von der Installation von Microsoft Excel, verbesserte Leistung, plattformübergreifende Kompatibilität und Unterstützung für verschiedene Excel-Dateiformate wie XLS, XLSX und CSV.

Kann ich Formeln in Excel-Dateien mit dieser Bibliothek bearbeiten?

Ja, IronXL ermöglicht es Ihnen, Formeln in Excel-Dateien zu bearbeiten. Sie können bestehende Formeln manipulieren oder neue hinzufügen, indem Sie eine einfache Syntax verwenden, die von der Bibliothek effizient verarbeitet wird.

Wie unterstützt IronXL verschiedene Excel-Dateiformate?

IronXL unterstützt mehrere Excel-Dateiformate wie XLS, XLSX, XLSM, CSV und TSV, was es Ihnen ermöglicht, diese Dateien nahtlos in einer C#-Anwendung zu erstellen, zu lesen und zu bearbeiten.

Ist es möglich, eine Excel-Datei mit IronXL zu schützen?

Ja, IronXL bietet die Möglichkeit, Excel-Dateien zu schützen, indem Benutzerpasswörter und Berechtigungen festgelegt werden, um Datensicherheit und kontrollierten Zugriff zu gewährleisten.

Wie kann ich die IronXL-Bibliothek in mein C#-Projekt integrieren?

Um IronXL in Ihr C#-Projekt zu integrieren, können Sie den NuGet-Paketmanager in Visual Studio verwenden. Suchen Sie nach IronXL und fügen Sie es Ihrem Projekt hinzu, um seine Funktionen zu nutzen.

Welche Plattformen werden von IronXL unterstützt?

IronXL unterstützt mehrere Plattformen, einschließlich .NET 5, 6 und 7, sowie .NET Core und Framework, was es zu einer vielseitigen Wahl für verschiedene Entwicklungsumgebungen macht.

Kann ich IronXL kostenlos verwenden?

IronXL ist für Entwicklungszwecke kostenlos. Für kommerzielle Nutzung ist jedoch eine Lizenz erforderlich. Eine kostenlose Testversion steht zur Verfügung, um die Funktionen der Bibliothek in einer kommerziellen Umgebung zu testen.

Wie kann ich Excel-Daten mit IronXL in JSON exportieren?

IronXL ermöglicht es Ihnen, Excel-Daten in JSON-Format zu exportieren, indem Sie das Arbeitsblatt oder bestimmte Datenbereiche in JSON-Strings umwandeln, die dann in Anwendungen verwendet werden können, die JSON-Daten erfordern.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen