Zum Fußzeileninhalt springen
IRONXL VERWENDEN

Wie man Excel-Bereiche in C# verwaltet

Das programmatische Arbeiten mit Excel-Dateien kann die Effizienz und Automatisierungsmöglichkeiten Ihrer C#-Anwendungen erheblich verbessern. Egal, ob Sie Berichte erstellen, Daten verarbeiten oder komplexe Tabellen dynamisch erstellen, die Beherrschung der Manipulation von Excel-Dateien ist entscheidend. In diesem Tutorial konzentrieren wir uns darauf, mit Excel-Bereichen unter Verwendung von IronXL zu arbeiten. Wir werden behandeln, wie man schreibt, liest und Bereiche manipuliert innerhalb einer Excel-Datei.

How to Read Excel Ranges in C

  1. Installieren Sie die IronXL-Bibliothek zur Handhabung von Excel-Dateien.
  2. Laden Sie die Arbeitsmappe und geben Sie das Arbeitsblatt an.
  3. Wählen Sie den zu lesenden Zellbereich aus.
  4. Extrahieren und lesen Sie Daten aus dem angegebenen Bereich.

Was ist IronXL?

IronXL ist eine umfassende Bibliothek für C#, die das Arbeiten mit Excel-Dateien vereinfacht und eine Reihe von Funktionen für nahtlose Integration und Manipulation von Tabellendaten bietet. Zu seinen Funktionen gehören das Lesen, Schreiben und Ändern von Excel-Dateien, ohne dass Microsoft Excel installiert sein muss, was plattformübergreifende Kompatibilität ermöglicht.

IronXL erleichtert die Extraktion von Daten aus bestimmten Zellen, Bereichen oder ganzen Arbeitsblättern sowie erweiterte Funktionen wie Formatierung, Styling und bedingte Formatierung. Mit Unterstützung für Berechnungen, Formeln und statistische Analysen befähigt IronXL Entwickler, Excel-Operationen effizient programmatisch zu bearbeiten, was es zu einem unverzichtbaren Werkzeug macht, um datenorientierte Aufgaben innerhalb von C#-Anwendungen zu automatisieren.

Getting Started with Excel Range of cells in C

Zunächst müssen wir die IronXL-Bibliothek in unserer Anwendung installieren.

Installiere das IronXL NuGet-Paket

Sie können IronXL über den NuGet-Paketmanager mit folgendem Befehl installieren:

Install-Package IronXl.Excel

Der obige Befehl wird IronXL mit allen seinen Abhängigkeiten installieren.

So verwalten Sie Excel-Bereiche in C#: Abbildung 1

Namespace hinzufügen

Fügen Sie den folgenden Namespace am Anfang der Program.cs-Klasse oder an einer beliebigen Stelle hinzu, an der Sie IronXL-Methoden verwenden möchten.

using IronXL;
using IronXL;
$vbLabelText   $csharpLabel

Excel-Arbeitsmappe laden

Der allererste Schritt ist das Laden der Excel-Arbeitsmappe. Der folgende Code lädt die Excel-Arbeitsmappe in unsere Anwendung.

static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");

    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}
static void Main(string[] args)
{
    // Load an existing Excel workbook
    var workbook = WorkBook.Load("test_excel.xlsx");

    // Retrieve the specified worksheet from the workbook
    var sheet = workbook.GetWorkSheet("Sheet1");
}
$vbLabelText   $csharpLabel

Die erste Zeile lädt eine vorhandene Excel-Arbeitsmappe aus der Datei namens "test_excel.xlsx". Die zweite Zeile ruft das Arbeitsblatt mit dem Namen "Sheet1" aus der geladenen Arbeitsmappe ab.

Ich werde die folgende Excel-Datei im Verlauf dieses Tutorials verwenden.

So verwalten Sie Excel-Bereiche in C#: Abbildung 2

Daten aus einem Bereich lesen

Lassen Sie uns nun Daten aus den angegebenen Zellbereichen lesen.

// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}
// Define a range from cell A2 to G10 in the worksheet
var range = sheet["A2:G10"];

// Iterate over each cell in the range and output its value
foreach (var item in range)
{
    Console.WriteLine(item);
}
$vbLabelText   $csharpLabel

Die erste Zeile wählt eine bestimmte Bereichsadresse (A2 bis G10) im Arbeitsblatt aus, die es Ihnen ermöglicht, mit mehreren Excel-Zellen gleichzeitig zu arbeiten. Die foreach (var item in range) Schleife durchläuft jede Zelle innerhalb dieses Zellbereichs und ermöglicht so eine effiziente Datenverarbeitung.

Durch die Verwendung von Console.WriteLine(item); gibt der Code den Wert jeder Zelle in der Konsole aus, wodurch der Inhalt des Bereichs leicht überprüft werden kann. Dieser Ansatz vereinfacht die Datenverarbeitung und verbessert die Lesbarkeit des Codes.

Excel-Formeln auf einen Bereich anwenden

Lassen Sie uns einen spezifischen Bereich auswählen und einige Excel-Formeln implementieren.

// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");
// Define a range from cell F2 to F42 for statistical analysis
var range = sheet["F2:F42"];

// Output the minimum age within the range
Console.WriteLine($"Minimum Age: {range.Min()}");

// Output the maximum age within the range
Console.WriteLine($"Maximum Age: {range.Max()}");

// Output the average age, casting the average value to an integer
Console.WriteLine($"Average Age: {(int)range.Avg()}");
$vbLabelText   $csharpLabel

Der Code var range = sheet["F2:F42"]; wählt einen Zellbereich von F2 bis F42 aus und ermöglicht so die statistische Analyse von Altersdaten. Mithilfe von range.Min() und range.Max() werden effizient die minimalen und maximalen Alterswerte innerhalb des angegebenen Bereichs berechnet, was zu demografischen Erkenntnissen beiträgt.

Zusätzlich berechnet range.Avg() das Durchschnittsalter und liefert damit wertvolle statistische Kennzahlen für die Dateninterpretation. Dieser Ansatz vereinfacht Aufgaben in der Datenanalyse und bietet schnellen Zugriff auf wesentliche statistische Informationen für fundierte Entscheidungen.

Verwalten von Excel-Bereichen in C#: Abbildung 3

Daten aus einer Einzelzelle lesen

Lassen Sie uns Daten aus einer Zelle lesen.

// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
// Retrieve the value from cell B2 in the worksheet
var read_from_single_cell = sheet["B2"];

// Output the value in cell B2
Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}");
$vbLabelText   $csharpLabel

Der Code var read_from_single_cell = sheet["B2"]; ruft den in Zelle B2 des Arbeitsblatts gespeicherten Wert ab. Mit diesem Ansatz können Sie einfach auf spezifische Zellwerte innerhalb der Excel-Datei zugreifen.

Mit Console.WriteLine($"The Value in Cell B2 is: {read_from_single_cell}"); gibt der Code den abgerufenen Wert der referenzierten Zellen in der Konsole aus, was die Datenprüfung und das Debuggen erleichtert. Dies vereinfacht den Prozess des Abfragens und Anzeigens von individuellen Zellwerten aus Excel-Dateien.

Verwalten von Excel-Bereichen in C#: Abbildung 4

Daten aus einer ganzen Spalte lesen

Lassen Sie uns Daten aus einer ganzen Spalte mit Index lesen.

// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}
// Retrieve values from the column at index 2 (C column) 
var columnValues = sheet.GetColumn(2); // 2 is column index

// Iterate over each value in the column and output it
foreach (var columnValue in columnValues)
{
    Console.WriteLine(columnValue);
}
$vbLabelText   $csharpLabel

Der Code var columnValues = sheet.GetColumn(2); ruft alle Werte aus der Spalte an Index 2 (Spalte C) im Arbeitsblatt ab. Dies ermöglicht einen effizienten Zugriff auf alle Werte in einer bestimmten Spalte des Excel-Blattes.

Durch die Schleife foreach, die über columnValues iteriert, wird jeder Wert in der Spalte mit Console.WriteLine(columnValue); auf der Konsole ausgegeben. Dieser Ansatz erleichtert die Verarbeitung und Anzeige von Spaltenwerten aus Excel-Dateien, was Aufgaben in der Datenanalyse vereinfacht.

Verwalten von Excel-Bereichen in C#: Abbildung 5

Alternativ können wir auch Daten aus einer Spalte mit einem Spaltennamen statt eines Indexes lesen. Beispiel: IronPDF rendert HTML zu einem PDF und speichert es.

// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");
// Retrieve values from the column with name "C"
var columnValues = sheet.GetColumn("C");
$vbLabelText   $csharpLabel

Auf diese Weise können wir mehrere Spalten angeben.

Daten aus einer ganzen Zeile lesen

Lassen Sie uns Daten aus der ganzen Zeile mit Zeilennummern lesen.

// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}
// Retrieve values from the row at index 1 (Row 2)
var rowValues = sheet.GetRow(1); // 1 is row index

// Iterate over each value in the row and output it
foreach (var rowValue in rowValues)
{
    Console.Write(rowValue + "  ");
}
$vbLabelText   $csharpLabel

Der Code var rowValues = sheet.GetRow(1); ruft alle Werte aus einer einzelnen Zeile ab, die sich an Index 1 (Zeile 2) im Arbeitsblatt befindet, und ermöglicht so einen effizienten Zugriff auf zeilenspezifische Daten. Durch die Schleife foreach, die über rowValues iteriert, wird jeder Wert in der Zeile mit Console.Write(rowValue + " "); auf der Konsole ausgegeben.

Dieser Ansatz vereinfacht die Extraktion und Anzeige von Zeilendaten aus Excel-Dateien, was Aufgaben in der Datenanalyse und Berichterstellung hilft. Auf diese Weise können wir Werte aus mehreren Zellen ohne Bereichsspezifikation lesen.

Verwalten von Excel-Bereichen in C#: Abbildung 6

Daten in eine Zelle oder einen Bereich schreiben

Wir können Daten in Zellen und Bereiche schreiben. Zunächst werden wir Daten in einen Bereich schreiben.

// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();
// Select a range from D2 to D14 for modification
var range = sheet["D2:D14"];

// Set the value for each cell in the range
range.Value = "Prefer Not to Say"; // Change Gender Value

// Save the modified workbook to persist changes
workbook.Save();
$vbLabelText   $csharpLabel

Der Code var range = sheet["D2:D14"]; wählt einen Bereich von Zelle D2 bis D14 aus und ermöglicht so die Massenbearbeitung von Daten. Durch die Einstellung von range.Value auf "Möchte ich nicht angeben" wird der Geschlechtswert für jede Zelle innerhalb des angegebenen Bereichs effizient aktualisiert, wodurch sich wiederholende Aufgaben minimieren.

Der nachfolgende Befehl workbook.Save(); gewährleistet die dauerhafte Speicherung dieser Änderungen und erhält so die Datenkonsistenz und -integrität aufrecht. Dieser Ansatz vereinfacht Batch-Updates und stellt Einheitlichkeit über mehrere Zellen sicher, was die Effizienz im Datenmanagement erhöht.

Nun, lassen Sie uns Daten in eine bestimmte Zelle schreiben.

// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();
// Set the value for cell B2
sheet["B2"].Value = "John";

// Save the workbook to persist the changes
workbook.Save();
$vbLabelText   $csharpLabel

Der Code sheet["B2"].Value = "John"; weist der Zelle B2 im Excel-Arbeitsblatt direkt den Wert "John" zu und bietet damit eine prägnante und unkomplizierte Methode zum Aktualisieren bestimmter Zellwerte. Dieser Ansatz optimiert den Prozess, einzelne Zellinhalte zu ändern, und verbessert die Lesbarkeit und Effizienz des Codes.

Verwalten von Excel-Bereichen in C#: Abbildung 7 - C# Excel-Bereich

Abschluss

Zusammenfassend lässt sich sagen, dass die Beherrschung von Excel-Bereichsoperationen in C# mit IronXL die Effizienz und Automatisierungsmöglichkeiten von Anwendungen erheblich steigert, indem Aufgaben wie Datenverarbeitung, Berichterstellung und dynamische Tabellenkalkulationserstellung erleichtert werden.

Mit den leistungsstarken Funktionen von IronXL zum Lesen, Schreiben und Manipulieren von Excel-Dateien können Entwickler Prozesse der Datenverarbeitung optimieren und von erweiterten Funktionen wie Formeln, Formatierung und statistischer Analyse profitieren. Zusätzlich bietet IronXL eine kostenlose Testversion, die Flexibilität und Skalierbarkeit für verschiedene Projektanforderungen gewährleistet.

Häufig gestellte Fragen

Wie kann ich mit der Manipulation von Excel-Bereichen in C# beginnen?

Um mit der Manipulation von Excel-Bereichen in C# zu beginnen, installieren Sie die IronXL-Bibliothek über den NuGet Package Manager mit dem Befehl: Install-Package IronXl.Excel. Dann können Sie damit beginnen, Excel-Arbeitsmappen zu laden und mit Bereichen unter Verwendung der umfassenden API von IronXL zu arbeiten.

Wie lade ich eine Excel-Arbeitsmappe mit IronXL?

Sie können eine Excel-Arbeitsmappe in IronXL mit der Methode WorkBook.Load laden, indem Sie den Dateinamen als Argument übergeben, zum Beispiel: var workbook = WorkBook.Load('test_excel.xlsx');.

Welche Methoden stehen zur Verfügung, um einen bestimmten Zellbereich in IronXL zu lesen?

In IronXL können Sie einen bestimmten Zellbereich lesen, indem Sie den Bereich mit Syntax wie sheet['A2:G10'] definieren und darüber iterieren, um auf den Wert jeder Zelle zuzugreifen.

Wie kann ich eine statistische Analyse von Daten innerhalb eines Excel-Bereichs durchführen?

Mit IronXL können Sie eine statistische Analyse durchführen, indem Sie einen Bereich auswählen und Methoden wie range.Min(), range.Max() und range.Avg() anwenden, um den minimalen, maximalen und durchschnittlichen Wert zu berechnen.

Wie ist der Vorgang, um Daten in eine bestimmte Zelle mit IronXL zu schreiben?

Um Daten in eine bestimmte Zelle in IronXL zu schreiben, weisen Sie der Zelle direkt einen Wert zu, zum Beispiel: sheet['B2'].Value = 'John';, und speichern Sie dann die Arbeitsmappe, um Änderungen zu übernehmen.

Kann ich eine ganze Spalte von Daten lesen, ohne einen Bereich in IronXL anzugeben?

Ja, IronXL ermöglicht es Ihnen, eine ganze Spalte mit sheet.GetColumn(index) oder sheet.GetColumn('C') zu lesen, sodass Sie Daten entweder mit einem Index oder einem Spaltennamen abrufen können.

Wie extrahiere ich Daten aus einer ganzen Zeile mit IronXL?

Um Daten aus einer ganzen Zeile in IronXL zu extrahieren, verwenden Sie sheet.GetRow(index) und iterieren Sie über die abgerufenen Werte, um auf die Daten zuzugreifen.

Welche erweiterten Funktionen bietet IronXL zur Excel-Manipulation?

IronXL bietet erweiterte Funktionen wie Formatierung, Styling, bedingte Formatierung und Unterstützung für Berechnungen und Formeln, um die Manipulationsfähigkeiten von Excel-Dateien innerhalb von C#-Anwendungen zu verbessern.

Ist es möglich, IronXL vor dem Kauf auszuprobieren?

Ja, IronXL bietet eine kostenlose Testversion an, die es Entwicklern ermöglicht, die Funktionen zu erkunden und ihre Eignung für ihre Projekte ohne anfängliche Kosten zu bestimmen.

Wie kann IronXL die Automatisierung in C#-Anwendungen verbessern?

IronXL verbessert die Automatisierung in C#-Anwendungen, indem es die nahtlose Manipulation von Excel-Dateien programmatisch ermöglicht, was für Aufgaben wie Datenverarbeitung, Berichtsgenerierung und dynamische Erstellung von Arbeitsblättern wesentlich ist, alles ohne die Installation von Microsoft Excel.

Jordi Bardia
Software Ingenieur
Jordi ist am besten in Python, C# und C++ versiert. Wenn er nicht bei Iron Software seine Fähigkeiten einsetzt, programmiert er Spiele. Mit Verantwortung für Produkttests, Produktentwicklung und -forschung trägt Jordi mit immensem Wert zur kontinuierlichen Produktverbesserung bei. Die abwechslungsreiche Erfahrung hält ihn gefordert und engagiert, ...
Weiterlesen

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me