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 jede Art von Daten in eine Excel-Datei zu schreiben. Erfahren Sie mehr darüber, wie manexcel-Datei laden arten und Zugriff auf Arbeitsblätter auf verschiedene Weise durch die Beispiele im Link. Hinweis: Vergessen Sie nicht, den Verweis auf "IronXL" in Ihr Projekt aufzunehmen und die Bibliothek mit "IronXL" zu importieren.
Wert in bestimmte Zelle schreiben
Wir können in einer Excel-Datei mit vielen verschiedenen 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 schreibt den "neuen Wert" in die Zelle "A1" des Arbeitsblatts "Sheet1" in der Excel-Datei "sample.xlsx". 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 das Gleiche 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 "von" bis "bis" an, in den die Daten geschrieben werden sollen. Danach wird der "Neue Wert" in alle Zellen geschrieben, die in diesem Bereich liegen. Die verstehen mehr überC# Excel Bereich sehen 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 schreibt den "neuen Wert" von "B2" nach "B9"(Reihenweiser Bereich) und von "C3" bis "C7(Spaltenweiser Bereich) des Arbeitsblatts "sheet1" der Excel-Datei "sample.xlsx". 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 Spalte "B" und "D" von "2" bis "7" in die Excel-Datei "sample.xlsx". Das Ergebnis des Codes ist in der Datei sample.xlsx
zu sehen:
Excel-Zellenwert ersetzen
Mit IronXL können wir einfach einen neuen Wert schreiben, um den alten Wert zu ersetzen, indem wir die Funktion `Replace()funktionieren wie folgt:
: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 obige Funktion schreibt den "neuen Wert" und überschreibt den "alten Wert" im gesamten Excel-Arbeitsblatt.
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")
Dadurch wird der "neue Wert" über den "alten Wert" nur in den angegebenen Zeilenindex geschrieben.
Zellenwert in bestimmter Spalte ersetzen
Wenn wir in einer bestimmten Spalte einen "neuen Wert" über den "alten Wert" schreiben wollen, kann dies wie folgt geschehen:
: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 schreibt den "neuen Wert" anstelle des "alten Wertes", aber nur in den angegebenen Spaltenindex. Der Rest des WorkSheets bleibt unverändert.
Zellenwert in einem bestimmten Bereich ersetzen
IronXL bietet auch eine Möglichkeit, einen neuen Wert zu schreiben, der den alten Wert ersetzt, allerdings nur in einem bestimmten Bereich.
: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")
Dadurch wird der "neue Wert" über den "alten Wert" geschrieben, und zwar nur in die Zellen, die in dem 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 über das Schreiben von Excel .NET-Anwendungen und mehr finden Sie in unserem vollständigen Tutorial überÖffnen und Schreiben von Excel-Dateien 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