C# Excel-Datei bearbeiten

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

Entwickler müssen vorsichtig sein, wenn sie Excel-Dateien in C# ändern und bearbeiten wollen, denn ein einziger Fehler kann leicht das gesamte Dokument verändern. Die Möglichkeit, sich auf einfache und effiziente Codezeilen zu verlassen, trägt dazu bei, das Fehlerrisiko zu verringern, und erleichtert es uns, Excel-Dateien programmatisch zu bearbeiten oder zu löschen. Heute gehen wir die Schritte durch, die notwendig sind, um Excel-Dateien in C# korrekt und schnell mit getesteten Funktionen zu bearbeiten.


Schritt 1

1. C# Bearbeiten von Excel-Dateien mit der IronXL-Bibliothek

In diesem Tutorial verwenden wir die von IronXL, einer C#-Excel-Bibliothek, definierten Funktionen. Um diese Funktionen zu nutzen, müssen Sie sie zunächst herunterladen und in Ihr Projekt installieren(frei für Entwicklung).

Sie können entweder IronXL.zip herunterladen oder lesen Sie mehr und installieren Sie über die NuGet-Paket-Seite.

Sobald Sie es installiert haben, können Sie loslegen!

Install-Package IronXL.Excel


Anleitung zum Tutorial

2. Bestimmte Zellenwerte bearbeiten

Zunächst werden wir uns ansehen, wie man die spezifischen Zellwerte eines Excel-Arbeitsblatts bearbeitet.

Zu diesem Zweck importieren wir das zu ändernde Excel SpreadSheet und greifen dann auf dessen WorkSheet zu. Dann können wir die Änderungen wie unten gezeigt vornehmen.

/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
    WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
    ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
    wb.SaveAs("sample.xlsx");//save changes
}
/**
Import and Edit SpreadSheet
anchor-edit-specific-cell-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");//import Excel SpreadSheet
    WorkSheet ws = wb.GetWorkSheet("Sheet1");//access specific workshet
    ws.Rows [3].Columns [1].Value = "New Value";//access specific cell and modify its value
    wb.SaveAs("sample.xlsx");//save changes
}
'''
'''Import and Edit SpreadSheet
'''anchor-edit-specific-cell-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx") 'import Excel SpreadSheet
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1") 'access specific workshet
	ws.Rows (3).Columns (1).Value = "New Value" 'access specific cell and modify its value
	wb.SaveAs("sample.xlsx") 'save changes
End Sub
VB   C#

Here are before and after screenshots of Excel SpreadSheet sample.xlsx:

Before After

:---: :-----:

before after

We can see how simple it is to modify the Excel SpreadSheet value. If needed, there is also an alternative way to edit the specific cell value by cell address:

 ws ["B4"].Value = "New Value"; //alternative way to access specific cell and apply changes
 ws ["B4"].Value = "New Value"; //alternative way to access specific cell and apply changes
ws ("B4").Value = "New Value" 'alternative way to access specific cell and apply changes
VB   C#

3. Volle Zeilenwerte bearbeiten

Es ist ziemlich einfach, ganze Zeilenwerte eines Excel-Tabellenblatts mit einem statischen Wert zu bearbeiten.

/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Rows [3].Value = "New Value";        
    wb.SaveAs("sample.xlsx");
}
/**
Edit Full Row Values
anchor-edit-full-row-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Rows [3].Value = "New Value";        
    wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Row Values
'''anchor-edit-full-row-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	ws.Rows (3).Value = "New Value"
	wb.SaveAs("sample.xlsx")
End Sub
VB   C#

Siehe die Screenshots von "sample.xlsx" unten:

Vor Nach

:---: :-----:

vor nach

Zu diesem Zweck können wir auch den Wert eines bestimmten Bereichs der Zeile bearbeiten, indem wir die Bereichsfunktion verwenden:

ws ["A3:E3"].Value = "New Value";
ws ["A3:E3"].Value = "New Value";
ws ("A3:E3").Value = "New Value"
VB   C#

4. Vollständige Spaltenwerte bearbeiten

Auf die gleiche Weise wie oben können wir ganze Spalten von Excel-Tabellenwerten mit einem einzigen Wert bearbeiten.

/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Columns [1].Value = "New Value";
    wb.SaveAs("sample.xlsx");
}
/**
Edit Full Column Values
anchor-edit-full-column-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Columns [1].Value = "New Value";
    wb.SaveAs("sample.xlsx");
}
'''
'''Edit Full Column Values
'''anchor-edit-full-column-values
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	ws.Columns (1).Value = "New Value"
	wb.SaveAs("sample.xlsx")
End Sub
VB   C#

Dadurch wird unser Arbeitsblatt "sample.xlsx" als solches erzeugt:

Vor Nach

:---: :-----:

vor nach


5. Volle Zeile mit dynamischen Werten bearbeiten

Mit IronXL ist es auch möglich, bestimmte Zeilen mit dynamischen Werten zu bearbeiten. Das bedeutet, dass wir eine ganze Zeile bearbeiten können, indem wir jeder Zelle dynamische Werte zuweisen. Schauen wir uns das Beispiel an:

/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = 0; i < ws.Columns.Count(); i++)
    {
        ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
    }        
    wb.SaveAs("sample.xlsx");
}
/**
Edit Row Dynamic Values
anchor-edit-full-row-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = 0; i < ws.Columns.Count(); i++)
    {
        ws.Rows [3].Columns [i].Value = "New Value "+i.ToString();
    }        
    wb.SaveAs("sample.xlsx");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

In der folgenden Tabelle sehen Sie die Screenshots des Excel-Arbeitsblatts "sample.xlsx" aus dieser Ausgabe:

Vor Nach

:---: :-----:

vor nach


6. Volle Spalte mit dynamischen Werten bearbeiten

Es ist auch einfach, bestimmte Spalten mit dynamischen Werten zu bearbeiten.

/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = 0; i < ws.Rows.Count(); i++)
    {
        if (i == 0)//it is for if our first column is used as a header
            continue;
        ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
    }
    wb.SaveAs("sample.xlsx");
}
/**
Edit Column Dynamic Values
anchor-edit-full-column-with-dynamic-values
**/
using IronXL;
static void Main(string [] args)
{
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    for (int i = 0; i < ws.Rows.Count(); i++)
    {
        if (i == 0)//it is for if our first column is used as a header
            continue;
        ws.Rows [i].Columns [1].Value = "New Value " + i.ToString();
    }
    wb.SaveAs("sample.xlsx");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Mit den Tabellenergebnissen von sample.xlsx unten:

Vor Nach

:---: :-----:

vor nach


7. Ersetzen von Tabellenkalkulationswerten

Wenn wir in einem Excel-Tabellenblatt einen beliebigen Wert durch einen aktualisierten Wert ersetzen wollen, können wir die Funktion "Ersetzen" verwenden. Mit dieser Funktion können wir die Daten von Excel SpreadSheet in jeder gewünschten Situation ersetzen.

7.1. Spezifischen Wert von Complete WorkSheet ersetzen

Um einen bestimmten Wert eines kompletten Excel-Arbeitsblattes durch einen aktualisierten Wert zu ersetzen, greifen wir einfach auf das Arbeitsblatt ws zu(wie in den obigen Beispielen) und wenden Sie die Funktion "Ersetzen" wie folgt an.

/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
/**
Replace Cell Values
anchor-replace-specific-value-of-complete-worksheet
**/
ws.Replace("old value", "new value");
'''
'''Replace Cell Values
'''anchor-replace-specific-value-of-complete-worksheet
'''*
ws.Replace("old value", "new value")
VB   C#

Diese Funktion ersetzt den "alten Wert" durch den "neuen Wert" in einem vollständigen Excel-Arbeitsblatt.

Vergessen Sie nicht, die Datei nach jeder Änderung zu speichern, wie in den obigen Beispielen gezeigt.

7.2. Ersetzen Sie die Werte einer bestimmten Zeile

Wenn Sie nur eine bestimmte Zeile und nicht das gesamte Arbeitsblatt ändern möchten, verwenden Sie diesen Code.

ws.Rows [2].Replace("old value", "new value");
ws.Rows [2].Replace("old value", "new value");
ws.Rows (2).Replace("old value", "new value")
VB   C#

Der obige Code ersetzt den "alten Wert" durch den "neuen Wert" nur in Zeile Nummer "2". Der Rest des WorkSheets bleibt unverändert.

7.3. Ersetzen Sie die Werte des Zeilenbereichs

Wir können auch die Werte innerhalb eines bestimmten Bereichs wie folgt ersetzen:

ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ["From Cell Address : To Cell Address"].Replace("old value", "new value");
ws ("From Cell Address : To Cell Address").Replace("old value", "new value")
VB   C#

Angenommen, wir wollen den alten Wert durch einen neuen ersetzen, und zwar nur im Bereich von "B4" bis "E4" der Zeile Nr. "4", dann würden wir das so schreiben:

ws ["B4:E4"].Replace("old value", "new value");
ws ["B4:E4"].Replace("old value", "new value");
ws ("B4:E4").Replace("old value", "new value")
VB   C#

7.4. Ersetzen Sie die Werte einer bestimmten Spalte

Wir können auch die Werte einer bestimmten Spalte ersetzen, wobei der Rest des Arbeitsblatts unverändert bleibt.

ws.Columns [1].Replace("old value", "new Value")
ws.Columns [1].Replace("old value", "new Value")
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'ws.Columns [1].Replace("old value", "new Value")
VB   C#

Der obige Code ersetzt den "alten Wert" durch den "neuen Wert" nur für die Spalte Nummer "1".

7.5. Ersetzen Sie die Werte des Spaltenbereichs

Auf die folgende Weise können wir auch die Bereichsfunktion verwenden, um innerhalb eines Bereichs einer bestimmten Spalte zu ersetzen.

 ws ["B5:B10"].Replace("old value", "new value");
 ws ["B5:B10"].Replace("old value", "new value");
ws ("B5:B10").Replace("old value", "new value")
VB   C#

Der obige Code ersetzt den "alten Wert" durch den "neuen Wert" innerhalb des Bereichs von "B5" bis "B10" für Spalte "B".


8. Zeile aus Excel-Arbeitsblatt entfernen

IronXL bietet eine sehr einfache Funktion, um eine bestimmte Zeile aus einem Excel-Arbeitsblatt zu entfernen. Schauen wir uns das Beispiel an.

/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{ 
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Rows [3].RemoveRow();
    wb.SaveAs("sample.xlsx");
}
/**
Remove Row
anchor-remove-row-from-excel-worksheet
**/
using IronXL;
static void Main(string [] args)
{ 
    WorkBook wb = WorkBook.Load("sample.xlsx");
    WorkSheet ws = wb.GetWorkSheet("Sheet1");
    ws.Rows [3].RemoveRow();
    wb.SaveAs("sample.xlsx");
}
'''
'''Remove Row
'''anchor-remove-row-from-excel-worksheet
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
	Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
	Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
	ws.Rows (3).RemoveRow()
	wb.SaveAs("sample.xlsx")
End Sub
VB   C#

Mit dem obigen Code wird die Zeile Nummer 3 der Datei "sample.xlsx" entfernt, wie in der folgenden Tabelle dargestellt:

Vor Nach

:---: :-----:

vor nach


9. WorkSheet aus Excel-Datei entfernen

Wenn wir ein komplettes Arbeitsblatt aus einer Excel-Datei entfernen wollen, können wir die folgende Methode verwenden:

/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
/**
Remove Worksheet from File
anchor-remove-worksheet-from-excel-file
**/
wb.RemoveWorkSheet(1); // by sheet indexing
'''
'''Remove Worksheet from File
'''anchor-remove-worksheet-from-excel-file
'''*
wb.RemoveWorkSheet(1) ' by sheet indexing
VB   C#

wb" ist das WorkBook, wie in den obigen Beispielen. Wenn wir ein Arbeitsblatt nach Namen entfernen wollen, dann:

wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1"); //by sheet name
wb.RemoveWorkSheet("Sheet1") 'by sheet name
VB   C#

IronXL ist reich an vielen weiteren Funktionen, mit denen wir leicht jede Art von Bearbeitung und Löschung in Excel SpreadSheets durchführen können. Bitte wenden Sie sich an unser Entwicklungsteam, wenn Sie Fragen zur Verwendung in Ihrem Projekt haben.


Bibliothek Schnellzugriff

IronXL Bibliothek Dokumentation

Entdecken Sie die volle Leistungsfähigkeit der IronXL C# Library mit verschiedenen Funktionen zum Bearbeiten, Löschen, Gestalten und Perfektionieren Ihrer Excel-Arbeitsmappen.

IronXL Bibliothek Dokumentation