Excel .NET-Funktionen schreiben
In vielen C#-Anwendungsprojekten müssen wir Dateien aktualisieren und neue Daten programmatisch in Excel-Tabellen schreiben. Excel .NET-Funktionen können manchmal kompliziert sein, aber mit der IronXL-Bibliothek ist diese Aufgabe ganz einfach und ermöglicht die Arbeit mit Excel-Kalkulationstabellen in jedem Format. Keine umfangreichen Codezeilen, nur Zugriff auf die spezifischen Zellen und die von Ihnen zugewiesenen Werte.
Legen Sie los mit IronXL
Beginnen Sie noch heute mit der Verwendung von IronXL in Ihrem Projekt mit einer kostenlosen Testversion.
Zugriff auf Excel-Dateien
Wir beginnen mit dem Zugriff auf die Excel-Datei, in die wir die Daten schreiben wollen. Öffnen wir die Excel-Datei in unserem 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")
Dadurch wird die oben angegebene Excel-Datei geöffnet. Als nächstes wird das Arbeitsblatt.
: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")
Das Excel-Arbeitsblatt wird in workSheet
geöffnet und wir können es verwenden, um jegliche Art von Daten in eine Excel-Datei zu schreiben. Erfahren Sie mehr darüber, wie Sie Excel-Dateitypen laden und Arbeitsblätter auf unterschiedliche Weise über die Beispiele im Link aufrufen können.
Hinweis: Vergessen Sie nicht, die Referenz von IronXL
in Ihr Projekt einzufügen und die Bibliothek mit Using IronXL
zu importieren.
Wert in bestimmte Zelle schreiben
Wir können in eine Excel-Datei auf viele verschiedene Methoden schreiben, aber der grundlegende Ansatz ist die Verwendung von Excel Cell
. Zu diesem Zweck kann auf eine beliebige Zelle des geöffneten Excel-Arbeitsblatts zugegriffen und ein Wert in diese Zelle geschrieben werden, wie folgt:
: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"
Hier ist ein Beispiel für die Verwendung der oben genannten Funktion in einer 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")
Dieser Code wird den Wert new value
in die Zelle A1
des Arbeitsblatts Sheet1
in der Excel-Datei sample.xlsx
schreiben. Auf die gleiche Weise können wir Werte in jede beliebige Zelladresse einer Excel-Datei einfügen.
Hinweis: Vergessen Sie nicht, die Excel-Datei zu speichern, nachdem Sie neue Werte in das Arbeitsblatt geschrieben haben, wie im obigen Beispiel gezeigt.
Erzwingen Sie die Zuweisung des exakten Wertes
Beim Einstellen der Eigenschaft Value versucht IronXL, sie in den entsprechenden Werttyp zu konvertieren. Manchmal ist diese Auswertung unerwünscht, da der Benutzer der Zelle den exakten Wert und nicht den umgewandelten Wert zuweisen möchte. Dies geschieht, indem man den Wert als String zuweist. Dies ist möglich, indem Sie in Excel ein Hochkomma vor einen Zellwert setzen. In IronXL verwenden Sie einfach StringValue anstelle von Value, um dasselbe zu erreichen.
: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"
Statische Werte in einen Bereich schreiben
Wir können neue Werte in mehrere Zellen, die als Bereich bezeichnet werden, wie folgt schreiben:
:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-cell-range.cs
workSheet["From Cell Address:To Cell Address"].Value = "New Value";
workSheet("From Cell Address:To Cell Address").Value = "New Value"
Auf diese Weise geben wir den Bereich der Zellen From
bis To
an, in den die Daten geschrieben werden. Danach wird New Value
in alle Zellen geschrieben, die in diesem Bereich liegen. Um mehr über C# Excel Range zu verstehen, schauen Sie sich die Beispiele hier an.
Anhand des folgenden Beispiels wollen wir sehen, wie man einen Bereich in Aktion schreibt.
: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")
Dieser Code wird neuer Wert
von B2
bis B9
(Zeilenbereich) und von C3
bis C7
(Spaltenbereich) des Arbeitsblatts sheet1
der Excel-Datei sample.xlsx
schreiben. Sie verwendet statische Werte für die Excel-Zellen.
Dynamische Werte in einen Bereich schreiben
Wir können auch dynamische Werte zu einem Bereich hinzufügen, wie unten gezeigt.
: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")
Der obige Code schreibt dynamische Werte in die Spalten B
und D
von 2
bis 7
in die Excel-Datei sample.xlsx
. Wir können das Ergebnis des Codes in sample.xlsx
sehen:
Excel-Zellenwert ersetzen
Mit IronXL können wir einfach 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")
Die obenstehende Funktion wird neuer Wert
schreiben und damit den alten Wert
im gesamten Excel-Arbeitsblatt überschreiben.
Zellenwert in bestimmter Zeile ersetzen
Wenn wir einen neuen Wert nur in eine bestimmte Zeile schreiben wollen, kann dies wie folgt geschehen:
: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")
Dies wird den neuen Wert
über den alten Wert
nur im angegebenen Zeilenindex schreiben.
Zellenwert in bestimmter Spalte ersetzen
Auf die gleiche Weise, wenn wir new value
über den old value
in einer bestimmten Spalte schreiben möchten, kann dies wie folgt durchgeführt werden:
: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")
Der obige Code wird new value
schreiben, um den old value
zu ersetzen, jedoch nur im angegebenen Spaltenindex. Der Rest des WorkSheets bleibt unverändert.
Zellenwert in einem bestimmten Bereich ersetzen
IronXL bietet auch eine Möglichkeit, new value
zu schreiben und den old value
nur in einem bestimmten Bereich zu ersetzen.
: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")
Dies wird neuer Wert
über alter Wert
schreiben, nur in den Zellen, die im angegebenen Bereich liegen.
Sehen wir uns ein Beispiel dafür an, wie man alle oben genannten Funktionen verwendet, um neue Werte zu schreiben und alte Werte in einem Excel-Arbeitsblatt zu 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")
Weitere Informationen darüber, wie man Excel .NET-Anwendungen schreibt und mehr, finden Sie in unserem vollständigen Tutorial zum Öffnen und Schreiben von Excel-Dateien mit C#.
Tutorial Schnellzugriff
API-Referenz lesen
Lesen Sie die IronXL-Dokumentation mit Listen aller Funktionen, Features, Namespaces, Klassen und Enums, die Ihnen in der Bibliothek zur Verfügung stehen.
API-Referenz lesen