Wie man mit C# in Excel-Dateien in .NET schreibt

Excel-.NET-Funktionen in C# mit IronXL schreiben

This article was translated from English: Does it need improvement?
Translated
View the article in English

Schreiben Sie Excel-Daten in C# using IronXL, indem Sie auf Arbeitsblätter zugreifen, Zellwerte mit einfacher Klammernotation festlegen und Änderungen speichern. Die Bibliothek unterstützt das programmgesteuerte Schreiben in bestimmte Zellen und Bereiche sowie das Ersetzen von Werten ohne komplexen Code.

C#-Anwendungen müssen häufig Dateien aktualisieren und neue Daten programmgesteuert in Excel-Tabellen schreiben. Die Funktionen von Excel .NET können manchmal kompliziert sein, aber mit der IronXL-Bibliothek ist diese Aufgabe unkompliziert und ermöglicht die Arbeit mit Excel-Tabellen in jedem Format. Greifen Sie direkt auf bestimmte Zellen zu und weisen Sie benutzerdefinierte Werte mit minimalem Codeaufwand zu. Ganz gleich, ob Sie neue Tabellenkalkulationen erstellen oder bestehende Excel-Dateien bearbeiten – IronXL bietet intuitive Methoden für alle Ihre Anforderungen an die Excel-Automatisierung.

Schnellstart: Einen Wert in eine bestimmte Zelle schreiben

Dieses Beispiel zeigt, wie man mit IronXL einen Wert in eine einzelne Zelle schreibt und die Excel-Datei mit nur wenigen Zeilen speichert.

  1. Installieren Sie IronXL mit NuGet Package Manager

    PM > Install-Package IronXL.Excel
  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute, IronXL in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion

    arrow pointer

Excel .NET-Anleitung verfassen

  • Laden Sie die Bibliothek für Excel .NET herunter
  • Werte in bestimmte Zellen schreiben
  • Schreiben Sie statische Werte in mehrere Zellen
  • Dynamische Werte in einen Zellbereich schreiben
  • Zellwerte in bestimmten Zeilen, Spalten, Bereichen und mehr ersetzen
How To Work related to Excel-.NET-Funktionen in C# mit IronXL schreiben

Wie greife ich auf Excel-Dateien zu?

Öffnen Sie zunächst die Excel-Datei, in die Sie Daten schreiben möchten. Öffnen Sie die Excel-Datei in Ihrem Projekt und öffnen Sie dann das entsprechende Arbeitsblatt mit dem folgenden Code.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-load-file.cs
// Load Excel file in the project
WorkBook workBook = WorkBook.Load("path");
' Load Excel file in the project
Dim workBook As WorkBook = WorkBook.Load("path")
$vbLabelText   $csharpLabel

Der obige Befehl öffnet die angegebene Excel-Datei. Rufen Sie anschließend das Arbeitsblatt auf.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-get-sheet.cs
// Open Excel WorkSheet
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");
' Open Excel WorkSheet
Dim workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
$vbLabelText   $csharpLabel

Die Excel-Tabelle wird in workSheet using IronXL geöffnet, und Sie können sie verwenden, um beliebige Daten in die Excel-Datei zu schreiben. Erfahren Sie anhand der Beispiele unter dem Link mehr darüber, wie Sie Excel-Dateien laden und auf verschiedene Weise auf Tabellen zugreifen können. Für die Arbeit mit mehreren Arbeitsblättern lesen Sie unseren Leitfaden zur Verwaltung von Arbeitsblättern, der das programmgesteuerte Hinzufügen, Umbenennen und Löschen von Blättern behandelt.

Hinweis: Vergessen Sie nicht, den Verweis auf IronXL in Ihr Projekt einzufügen und die Bibliothek mithilfe von using IronXL zu importieren.


Wie trage ich einen Wert in eine bestimmte Zelle ein?

Es gibt viele verschiedene Methoden, um in eine Excel-Datei zu schreiben, aber der grundlegende Ansatz verwendet ExcelCell. Zu diesem Zweck kann auf jede Zelle der geöffneten Excel-Tabelle zugegriffen und ein Wert wie folgt in sie geschrieben werden:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell.cs
workSheet["Cell Address"].Value="Assign the Value";
workSheet("Cell Address").Value="Assign the Value"
$vbLabelText   $csharpLabel

Hier ist ein Beispiel dafür, wie Sie die oben genannte Funktion verwenden können, um in Ihrem C#-Projekt in eine Excel-Zelle zu schreiben.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

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

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Access A1 cell and write the value
Private workSheet("A1").Value = "new value"

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Dieser Code schreibt new value in Zelle A1 des Arbeitsblatts Sheet1 in der Excel-Datei sample.xlsx. Auf die gleiche Weise können Sie Werte in jede beliebige Zelladresse einer Excel-Datei einfügen. Für erweiterte Formatierungsoptionen, wie das Festlegen von Zellschriftarten und -größen oder das Anwenden von Hintergrundfarben und -mustern, bietet IronXL umfassende Gestaltungsmöglichkeiten.

Hinweis: Vergessen Sie nicht, die Excel-Datei zu speichern, nachdem Sie neue Werte in die Tabelle eingegeben haben, wie im obigen Beispiel gezeigt.

Warum sollte ich exakte Werte erzwingen?

Beim Festlegen der Eigenschaft Value versucht IronXL, diese in den entsprechenden Wertetyp zu konvertieren. Manchmal ist diese Bewertung unerwünscht, da Sie der Zelle den genauen Wert ohne Konvertierung zuweisen möchten. Weisen Sie dazu den Wert als Zeichenfolge zu. Verwenden Sie in IronXL einfach StringValue anstelle von Value, um denselben Effekt zu erzielen.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
$vbLabelText   $csharpLabel

Wie schreibe ich statische Werte in einen Bereich?

Sie können neue Werte wie folgt in mehrere Zellen, die als Bereich bezeichnet werden, schreiben:

// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
// Assign a static value to a range of cells
worksheet["B2:C5"].Value = "static value";
' Assign a static value to a range of cells
worksheet("B2:C5").Value = "static value"
$vbLabelText   $csharpLabel

Auf diese Weise legen Sie den Zellbereich From bis To fest, in den die Daten geschrieben werden sollen. Der Text new value wird in alle Zellen innerhalb dieses Bereichs geschrieben. Um mehr über C# Excel Range zu erfahren, sehen Sie sich die Beispiele hier an.

Sehen Sie sich anhand des folgenden Beispiels an, wie ein Bereich in der Praxis geschrieben wird.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range-full.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range row wise and write new value
workSheet["B2:B9"].Value = "new value";

// Specify range column wise and write new value
workSheet["C3:C7"].Value = "new value";

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range row wise and write new value
Private workSheet("B2:B9").Value = "new value"

' Specify range column wise and write new value
Private workSheet("C3:C7").Value = "new value"

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Dieser Code schreibt new value von B2 bis B9 in Spalte B und von C3 bis C7 in Spalte C des Arbeitsblatts Sheet1 in der Excel-Datei sample.xlsx. Es verwendet statische Werte für die Excel-Zellen.


Wie schreibe ich dynamische Werte in einen Bereich?

Sie können einem Bereich auch dynamische Werte hinzufügen, wie unten gezeigt. Dies ist besonders nützlich, wenn Sie Daten aus einer Datenbank einlesen oder Berichte erstellen müssen. Für komplexere Datenoperationen empfiehlt es sich, den Import und Export als DataSet in Betracht zu ziehen.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-dynamic-value.cs
using IronXL;

// Load Excel file
WorkBook workBook = WorkBook.Load("sample.xlsx");

// Open WorkSheet of sample.xlsx
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Specify range in which we want to write the values
for (int i = 2; i <= 7; i++)
{
    // Write the Dynamic value in one row
    workSheet["B" + i].Value = "Value" + i;

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

// Save changes
workBook.SaveAs("sample.xlsx");
Imports IronXL

' Load Excel file
Private workBook As WorkBook = WorkBook.Load("sample.xlsx")

' Open WorkSheet of sample.xlsx
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Specify range in which we want to write the values
For i As Integer = 2 To 7
	' Write the Dynamic value in one row
	workSheet("B" & i).Value = "Value" & i

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

' Save changes
workBook.SaveAs("sample.xlsx")
$vbLabelText   $csharpLabel

Der obige Code schreibt dynamische Werte in die Spalten B von 2 bis 7 in der Excel-Datei sample.xlsx. Das Ergebnis des Codes können Sie unter sample.xlsx einsehen.

Tabelle mit zwei markierten Bereichen B2:B7 und D2:D7, die mit Wert2 bis Wert7 gefüllt sind

Wie ersetze ich Werte in Excel-Zellen?

Using IronXL, you can easily write a new value to replace the old value, using the function Replace() as follows:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace.cs
workSheet.Replace("old value", "new value");
workSheet.Replace("old value", "new value")
$vbLabelText   $csharpLabel

Die obige Funktion schreibt new value und überschreibt damit old value in der gesamten Excel-Tabelle.

Wie ersetze ich Werte in einer bestimmten Zeile?

Wenn Sie einen neuen Wert nur in einer bestimmten Zeile eingeben möchten, gehen Sie wie folgt vor:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-row.cs
workSheet.Rows[RowIndex].Replace("old value", "new value");
workSheet.Rows(RowIndex).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Dies überschreibt new value mit old value nur in der angegebenen Zeilenindexposition.

Wie ersetze ich Werte in einer bestimmten Spalte?

Wenn Sie beispielsweise new value über old value in einer bestimmten Spalte schreiben möchten, gehen Sie wie folgt vor:

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-column.cs
workSheet.Columns[ColumnIndex].Replace("old value", "new value");
workSheet.Columns(ColumnIndex).Replace("old value", "new value")
$vbLabelText   $csharpLabel

Der obige Code schreibt new value, um old value zu ersetzen, jedoch nur im angegebenen Spaltenindex. Der Rest des Arbeitsblatts bleibt unverändert.

Wie ersetze ich Werte in einem bestimmten Bereich?

IronXL bietet außerdem die Möglichkeit, ein new value anstelle des old value zu schreiben, jedoch nur in einem bestimmten Bereich. Dies ist hilfreich, wenn Sie mit bestimmten Datenbereichen arbeiten oder wenn Sie Werte in einem bestimmten Abschnitt Ihrer Tabelle aktualisieren müssen. Für fortgeschrittenere Bereichsoperationen lesen Sie unseren Leitfaden zum Sortieren von Zellbereichen.

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-range.cs
workSheet["From Cell Address : To Cell Address"].Replace("old value", "new value");
workSheet("From Cell Address : To Cell Address").Replace("old value", "new value")
$vbLabelText   $csharpLabel

Dadurch wird new value über old value geschrieben, und zwar nur in den Zellen innerhalb des angegebenen Bereichs.

Sehen Sie sich das Beispiel an, wie Sie alle oben genannten Funktionen nutzen können, um neue Werte zu schreiben und alte Werte in einer Excel-Tabelle zu ersetzen.

Wie sieht ein vollständiges Ersetzungsbeispiel aus?

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-replace-full.cs
using IronXL;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.GetWorkSheet("Sheet1");

// Write new above old in complete WorkSheet
workSheet.Replace("old", "new");

// Write new above old just in row no 6 of WorkSheet
workSheet.Rows[5].Replace("old", "new");

// Write new above old just in column no 5 of WorkSheet
workSheet.Columns[4].Replace("old", "new");

// Write new above old just from A5 to H5 of WorkSheet
workSheet["A5:H5"].Replace("old", "new");

workBook.SaveAs("sample.xlsx");
Imports IronXL

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.GetWorkSheet("Sheet1")

' Write new above old in complete WorkSheet
workSheet.Replace("old", "new")

' Write new above old just in row no 6 of WorkSheet
workSheet.Rows(5).Replace("old", "new")

' Write new above old just in column no 5 of WorkSheet
workSheet.Columns(4).Replace("old", "new")

' Write new above old just from A5 to H5 of WorkSheet
workSheet("A5:H5").Replace("old", "new")

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

Weitere Informationen zum Schreiben von Excel-.NET-Anwendungen und mehr finden Sie in unserem vollständigen Tutorial zum Öffnen und Schreiben von Excel-Dateien in C#. Wenn Sie mit verschiedenen Dateiformaten arbeiten, könnte Ihnen auch unser Leitfaden zur Konvertierung von Tabellenkalkulationsdateiformaten hilfreich sein.


Schnellzugriff auf Tutorials

API Referenz lesen

Lesen Sie die IronXL-Dokumentation, einschließlich der Listen aller Funktionen, Features, Namespaces, Klassen und Enums, die Ihnen in der IronXL-Bibliothek zur Verfügung stehen.

API Referenz lesen
Documentation related to Schnellzugriff auf Tutorials

Häufig gestellte Fragen

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

Mit IronXL können Sie in eine bestimmte Zelle schreiben, indem Sie einfach mit der Klammerschreibweise auf die Zelle zugreifen und ihre Werteigenschaft festlegen. Zum Beispiel: worksheet["A1"].Value = "Hallo, IronXL!"; dann speichern Sie die Arbeitsmappe mit workbook.SaveAs("output.xlsx"). Durch diesen einfachen Ansatz entfällt die Notwendigkeit für komplexen Excel-Interop-Code.

Was ist der erste Schritt, um Daten programmatisch in eine Excel-Datei zu schreiben?

Der erste Schritt besteht darin, Ihre Excel-Datei mit der Methode WorkBook.Load() von IronXL zu laden und dann auf das spezifische Arbeitsblatt zuzugreifen, in das Sie Daten schreiben möchten. IronXL vereinfacht dies mit intuitiven Methoden, mit denen Sie jedes Excel-Format öffnen und sofort mit Zellen und Bereichen arbeiten können.

Kann ich in Excel Daten in mehrere Zellen auf einmal schreiben?

Ja, IronXL unterstützt das effiziente Schreiben in mehrere Zellen. Sie können statische Werte in mehrere spezifische Zellen einzeln schreiben oder Zellbereiche verwenden, um dynamische Werte programmatisch in mehrere Zellen zu schreiben. Die Bibliothek bietet Methoden sowohl für Einzelzellenoperationen als auch für das Schreiben von Massendaten.

Wie ersetze ich vorhandene Zellwerte in einer Excel-Tabelle?

Mit IronXL können Sie Zellwerte ersetzen, indem Sie einfach auf die Zelle zugreifen und ihr einen neuen Wert zuweisen. Sie können Werte in bestimmten Zeilen, Spalten oder Bereichen ersetzen. Die Bibliothek sorgt automatisch für das Überschreiben vorhandener Daten, wenn Sie den Zellen neue Werte zuweisen.

Welche Excel-Dateiformate werden für das Schreiben von Daten unterstützt?

IronXL unterstützt das Schreiben in alle gängigen Excel-Dateiformate, einschließlich .xlsx, .xls, .xlsm und CSV-Dateien. Die Bibliothek behandelt formatspezifische Anforderungen automatisch, so dass Sie mit Excel-Tabellen in jedem Format arbeiten können, ohne Ihren Codeansatz zu ändern.

Muss ich Microsoft Excel installiert haben, um Excel-Dateien in C# zu schreiben?

Nein, IronXL arbeitet unabhängig und benötigt weder Microsoft Excel noch Office Interop. Es handelt sich um eine eigenständige .NET-Bibliothek, die Excel-Dateien auf jedem System programmatisch lesen, schreiben und erstellen kann, was sie perfekt für Serveranwendungen und Umgebungen macht, in denen Excel nicht installiert ist.

Wie kann ich Änderungen speichern, nachdem ich Daten in eine Excel-Datei geschrieben habe?

Nachdem Sie Daten in Zellen geschrieben haben, speichern Sie Ihre Änderungen mit der SaveAs()-Methode von IronXL, um eine neue Datei zu erstellen, oder mit Save(), um die bestehende Datei zu überschreiben. Die Bibliothek stellt sicher, dass alle Zellaktualisierungen, Formatierungen und Formeln ordnungsgemäß in dem von Ihnen angegebenen Excel-Dateiformat gespeichert werden.

Curtis Chau
Technischer Autor

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

Weiterlesen
Bereit anzufangen?
Nuget Downloads 2,052,917 | Version: 2026.6 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronXL.Excel
Führen Sie ein Beispiel aus und sehen Sie zu, wie Ihre Daten zu einer Tabellenkalkulation werden.