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

Write Excel .NET Functions

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

Viele C#-Anwendungsprojekte erfordern es, Dateien zu aktualisieren und neue Daten programmatisch in Excel-Tabellen zu schreiben. Excel .NET-Funktionen können manchmal kompliziert sein, aber mit der IronXL-Bibliothek ist diese Aufgabe ganz einfach und ermöglicht das Arbeiten mit Excel-Tabellen in jedem Format. Keine massenweisen Codezeilen, nur der Zugriff auf die spezifischen Zellen und die benutzerdefinierten Werte, die Sie zuweisen.

als-überschrift:2(Schnellstart: Einen Wert in eine spezifische Zelle schreiben)

Dieses Beispiel zeigt, wie mühelos Sie einen Wert in eine einzelne Zelle mit IronXL schreiben und die Excel-Datei in nur wenigen Zeilen speichern können—fangen Sie ohne Boilerplate oder Komplexität an.

Nuget IconGet started making PDFs with NuGet now:

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXL.Excel

  2. Copy and run this code snippet.

    worksheet["A1"].Value = "Hello, IronXL!";
    workbook.SaveAs("output.xlsx");
  3. Deploy to test on your live environment

    Start using IronXL in your project today with a free trial
    arrow pointer
class="learnn-how-section">
class="row">
class="col-sm-6">

Excel .NET Anweisungen schreiben

  • Laden Sie die Bibliothek für Excel .NET herunter
  • Schreiben Sie Werte in spezifische Zellen
  • Schreiben Sie statische Werte in mehrere Zellen
  • Schreiben Sie dynamische Werte im Zellbereich
  • Ersetzen Sie Zellwerte in spezifischen Reihen, Spalten, Bereichen und mehr
class="col-sm-6">
class="download-card"> How To Work related to Write Excel .NET Functions

Zugriff auf Excel-Dateien

Beginnen wir damit, auf die Excel-Datei zuzugreifen, in der wir die Daten schreiben möchten. Öffnen wir die Excel-Datei in unserem Projekt und öffnen dann das spezifische 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

Das oben Genannte öffnet die angegebene Excel-Datei. Greifen Sie danach auf das Arbeitsblatt zu.

: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

Das Excel-Arbeitsblatt wird in worksheet geöffnet und wir können es nutzen, um jegliche Art von Daten in die Excel-Datei zu schreiben. Erfahren Sie mehr darüber, wie Sie Excel-Dateien laden und Arbeitsblätter durch die Beispiele im Link auf verschiedene Weise zugreifen können.

Hinweis: Vergessen Sie nicht, die Referenz zu IronXL in Ihrem Projekt hinzuzufügen und die Bibliothek zu importieren, indem Sie using IronXL verwenden.


Wert in spezifische Zelle schreiben

Wir können in eine Excel-Datei mit vielen verschiedenen Methoden schreiben, aber die grundlegende Herangehensweise besteht darin, ExcelCell zu verwenden. Zu diesem Zweck kann jede Zelle des geöffneten Excel-Arbeitsblatts angesprochen werden und ein Wert darin wie folgt 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, wie man die obige Funktion verwendet, um in eine Excel-Zelle in unserem C#-Projekt 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 die Zelle A1 des Arbeitsblatts Sheet1 in der Excel-Datei sample.xlsx. In gleicher Weise können wir Werte in jede beliebige Zelladresse einer Excel-Datei einfügen.

Hinweis: Vergessen Sie nicht, die Excel-Datei nach dem Schreiben neuer Werte in das Arbeitsblatt, wie im obigen Beispiel gezeigt, zu speichern.

Den genauen Wert zwangsweise zuweisen

Beim Festlegen der Value-Eigenschaft versucht IronXL, diese in den entsprechenden Werttyp zu konvertieren. Manchmal ist diese Bewertung unerwünscht, da der Benutzer den genauen Wert ohne Konvertierung zwangsweise zuweisen möchte. Um dies zu tun, weisen Sie den Wert als Zeichenfolge zu. In IronXL verwenden Sie einfach StringValue anstatt 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

Statische Werte in einem Bereich schreiben

Wir können neue Werte in mehrere Zellen, genannt einen Bereich, wie folgt 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 geben wir den Bereich der Zellen Von bis Bis an, in welchem die Daten geschrieben werden. Der neue Wert wird in alle Zellen geschrieben, die in diesem Bereich liegen. Um mehr über C# Excel Range zu verstehen, schauen Sie sich die Beispiele hier an.

Sehen wir, wie man einen Bereich in Aktion schreibt, durch das folgende Beispiel.

: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 C5 in das Arbeitsblatt Sheet1 der Excel-Datei sample.xlsx. Es verwendet statische Werte für die Excel-Zellen.


Dynamische Werte in einem Bereich schreiben

Wir können auch dynamische Werte zu einem Bereich hinzufügen, wie unten zu sehen.

: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. Wir können das Ergebnis des Codes in sample.xlsx sehen.

class="center-image-wrapper"> 1excel related to Dynamische Werte in einem Bereich schreiben

Excel-Zellwert ersetzen

Mit IronXL können wir leicht einen neuen Wert schreiben, um den alten Wert zu ersetzen, indem wir die Replace()-Funktion wie folgt verwenden:

: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, der den old value im gesamten Excel-Arbeitsblatt überschreibt.

Zellenwert in einer spezifischen Zeile ersetzen

Wenn wir nur in einer bestimmten Zeile einen neuen Wert schreiben 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 wird new value über den old value nur im angegebenen Zeilenindex schreiben.

Zellenwert in einer spezifischen Spalte ersetzen

Ähnlich, wenn wir new value über den old value innerhalb einer spezifischen Spalte schreiben möchten, wie folgt:

: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 den old value zu ersetzen, jedoch nur im angegebenen Spaltenindex. Der Rest des Arbeitsblatts bleibt gleich.

Zellenwert in einem spezifischen Bereich ersetzen

IronXL bietet auch eine Möglichkeit, einen new value zu schreiben, der den old value nur in einem angegebenen Bereich ersetzt.

: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

Dies wird new value über old value nur in den Zellen schreiben, die im angegebenen Bereich liegen.

Lassen Sie uns das Beispiel sehen, wie man all die oben genannten Funktionen verwendet, um neue Werte zu schreiben, die alte Werte in einem Excel-Arbeitsblatt ersetzen.

Beispiel für alle Funktionen

: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

Für weitere Informationen darüber, wie Sie Excel .NET-Anwendungen schreiben und mehr, schauen Sie sich unser vollständiges Tutorial darüber an, wie Sie Excel-Dateien öffnen und schreiben können.


class="tutorial-segment-title">Tutorial Schneller Zugriff

class="tutorial-section">
class="row">
class="col-sm-8">

API-Referenz lesen

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

API-Referenz lesen
class="col-sm-4">
class="tutorial-image"> Documentation related to class=Tutorial Schneller Zugriff" class="img-responsive add-shadow img-responsive img-popup" src="/img/svgs/documentation.svg" loading="lazy">

Häufig gestellte Fragen

Wie beginne ich mit dem Schreiben von Excel-Dateien in .NET?

Um mit IronXL zu beginnen, laden Sie die Bibliothek herunter und fügen Sie sie Ihrem Projekt hinzu. Importieren Sie die Bibliothek mit using IronXL in Ihrem C#-Code.

Wie kann ich einen Wert in eine bestimmte Zelle eines Excel-Arbeitsblatts schreiben?

Um mit IronXL einen Wert in eine bestimmte Zelle zu schreiben, greifen Sie mit der Adresse auf die Zelle zu, z.B. worksheet['A1'] und weisen Sie einen Wert mit der .Value-Eigenschaft zu.

Wie weise ich einen statischen Wert einem Bereich von Zellen in Excel zu?

Um einen statischen Wert mit IronXL einem Bereich zuzuweisen, geben Sie den Bereich mit Zelladressen an, z.B. worksheet['B2:C5'], und setzen Sie die .Value-Eigenschaft auf Ihren gewünschten statischen Wert.

Kann ich dynamische Werte an einen Bereich von Zellen in Excel schreiben?

Ja, mit IronXL können Sie dynamische Werte unter Verwendung von Schleifen oder benutzerdefinierter Logik an einen Bereich schreiben. Beispielsweise können Sie über Zelladressen iterieren und dynamische Werte basierend auf Ihren Anforderungen zuweisen.

Wie kann ich vorhandene Zellwerte in einem Excel-Arbeitsblatt ersetzen?

Unter Verwendung von IronXL können Sie die Replace()-Methode auf dem Arbeitsblatt, der Zeile, der Spalte oder dem angegebenen Bereich verwenden, um 'alten Wert' durch 'neuen Wert' zu ersetzen.

Was ist der Unterschied zwischen der Verwendung von Value und StringValue?

In IronXL kann die .Value-Eigenschaft den zugewiesenen Wert in ein typenspezifisches Format konvertieren, während .StringValue den Wert als Zeichenfolge zuweist und eine Konvertierung vermeidet.

Wie kann ich ein spezifisches Arbeitsblatt in einer Excel-Datei öffnen und darauf zugreifen?

Verwenden Sie IronXL's WorkBook.Load('path/to/your/excel-file.xlsx'), um die Datei zu laden und workbook.GetWorkSheet('SheetName'), um auf ein spezifisches Arbeitsblatt zuzugreifen.

Ist es notwendig, die Excel-Datei nach dem Schreiben neuer Werte zu speichern?

Ja, wenn Sie IronXL verwenden, müssen Sie die Excel-Datei nach dem Ändern mit der workbook.SaveAs('filename.xlsx')-Methode speichern, um Ihre Änderungen zu sichern.

Wie schreibe ich einen neuen Wert, um einen alten Wert in einer bestimmten Zeile zu ersetzen?

Mit IronXL greifen Sie auf die Zeile unter Verwendung von worksheet.Rows[index] zu und rufen dann die Replace()-Methode mit den alten und neuen Werten auf.

Kann ich Werte in einer bestimmten Spalte ersetzen?

Ja, mit IronXL greifen Sie auf die Spalte unter Verwendung von worksheet.Columns['A'] zu und verwenden die Replace()-Methode, um alte Werte in dieser Spalte durch neue zu ersetzen.

Wie stelle ich sicher, dass mein C#-Projekt mit Excel-Dateien interagieren kann?

Stellen Sie sicher, dass Ihr C#-Projekt auf die IronXL-Bibliothek verweist, indem Sie sie herunterladen und den Verweisen Ihres Projekts hinzufügen. Dies erleichtert die Interaktion mit Excel-Dateien.

Was sind einige häufige Probleme beim Schreiben von Excel-Dateien in .NET?

Häufige Probleme sind das falsche Referenzieren der IronXL-Bibliothek, falsches Zelladressformat und das Vergessen, Änderungen zu speichern. Stellen Sie eine korrekte Einrichtung und Syntax sicher.

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 1,686,155 | Version: 2025.11 gerade veröffentlicht