Wie wählt man einen Bereich in Excel mit C# aus | IronXL

Bereichsauswahl in Excel mit C#

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

IronXL ermöglicht es C#-Entwicklern, Excel-Bereiche, -Zeilen und -Spalten ohne Office Interop-Abhängigkeiten auszuwählen und zu manipulieren. Verwenden Sie eine einfache Syntax wie workSheet["A1:C3"], um Bereiche auszuwählen, GetRow() für Zeilen und GetColumn() für Spalten programmatisch.

als Überschrift:2(Schnellstart: Auswählen eines Zellbereichs in IronXL in einer Zeile)

Verwenden Sie einen einzelnen Aufruf von GetRange auf einem IronXL-Arbeitsblatt, um einen rechteckigen Bereich wie 'A1:C3' zu erfassen – keine Schleifen, kein Aufwand. Es ist der schnellste Weg, um mehrere Zellen gleichzeitig zu bearbeiten.

Nuget IconLegen Sie jetzt mit NuGet los, um PDFs zu erstellen:

  1. Installieren Sie IronXL mit dem NuGet-Paketmanager.

    PM > Install-Package IronXL.Excel

  2. Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.

    var range = workSheet.GetRange("A1:C3");
  3. Bereitstellen zum Testen in Ihrer Live-Umgebung

    Beginnen Sie noch heute mit der Nutzung von IronXL in Ihrem Projekt – mit einer kostenlosen Testversion.
    arrow pointer


Wie wähle ich verschiedene Arten von Bereichen in IronXL aus?

Mit IronXL können Sie verschiedene Operationen auf ausgewählten Bereichen durchführen, wie Sortieren, Berechnungen und Aggregationen. Die Bibliothek bietet intuitive Methoden für die Bereichsauswahl, die die systemeigenen Funktionen von Excel widerspiegeln und gleichzeitig eine programmatische Steuerung ermöglichen.

Die Bereichsauswahl bildet die Grundlage für viele Excel-Operationen. Ob Sie mathematische Berechnungen durchführen, Formatierungen vornehmen oder Daten extrahieren, die Auswahl der richtigen Zellen ist der erste Schritt. IronXL macht diesen Prozess mit seiner flexiblen Bereichsauswahl-API ganz einfach.

Hinweis:Bei der Anwendung von Methoden, die Zellwerte verändern oder verschieben, werden die Werte des betroffenen Bereichs, der betroffenen Zeile oder Spalte entsprechend aktualisiert.

TippsIronXL ermöglicht es, mehr als einen IronXL.Ranges.Range mit dem '+'-Operator zu kombinieren.

Wie wähle ich einen rechteckigen Bereich von Zellen aus?

Um einen Bereich von Zelle A2 bis B8 auszuwählen, können Sie den folgenden Code verwenden:

:path=/static-assets/excel/content-code-examples/how-to/select-range-range.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get range from worksheet
var range = workSheet["A2:B8"];
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Get range from worksheet
Private range = workSheet("A2:B8")
$vbLabelText   $csharpLabel
Tabellenkalkulation mit dem rosa hervorgehobenen Bereich B2:C8 zur Veranschaulichung der visuellen Auswahl in einem Raster mit Beispieldaten

Arbeiten mit ausgewählten Bereichen

Sobald Sie einen Bereich ausgewählt haben, bietet IronXL zahlreiche Operationen, die Sie durchführen können:

using IronXL;
using System;
using System.Linq;

// Load an existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select a range and perform operations
var range = workSheet["A1:C5"];

// Apply formatting to the entire range
range.Style.BackgroundColor = "#E8F5E9";
range.Style.Font.Bold = true;

// Iterate through cells in the range
foreach (var cell in range)
{
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}");
}

// Get sum of numeric values in the range
decimal sum = range.Sum();
Console.WriteLine($"Sum of range: {sum}");
using IronXL;
using System;
using System.Linq;

// Load an existing spreadsheet
WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select a range and perform operations
var range = workSheet["A1:C5"];

// Apply formatting to the entire range
range.Style.BackgroundColor = "#E8F5E9";
range.Style.Font.Bold = true;

// Iterate through cells in the range
foreach (var cell in range)
{
    Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}");
}

// Get sum of numeric values in the range
decimal sum = range.Sum();
Console.WriteLine($"Sum of range: {sum}");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für komplexere Operationen mit Tabellenkalkulationen verweisen wir auf die umfassende API-Dokumentation.

Wie kann ich eine ganze Zeile auswählen?

Um die 4. Zeile auszuwählen, können Sie die GetRow(3)-Methode mit nullbasiertem Index verwenden. Dies schließt alle Zellen in der 4. Zeile ein, auch wenn einige entsprechende Zellen in anderen Zeilen leer sind.

:path=/static-assets/excel/content-code-examples/how-to/select-range-row.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get row from worksheet
var row = workSheet.GetRow(3);
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Get row from worksheet
Private row = workSheet.GetRow(3)
$vbLabelText   $csharpLabel
Rechenblatt mit ausgewählter Zeile 4, mit rotem Rahmen um die Zellen B4 bis F4 zur Veranschaulichung der Zeilenauswahl

Die Zeilenauswahl ist besonders nützlich, wenn Sie Daten zeilenweise verarbeiten müssen. Zum Beispiel beim Laden von Tabellenkalkulationsdaten zur Analyse:

using IronXL;
using System;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Process each row
for (int i = 0; i < workSheet.RowCount; i++)
{
    var row = workSheet.GetRow(i);

    // Skip empty rows
    if (row.IsEmpty) continue;

    // Process row data
    foreach (var cell in row)
    {
        // Your processing logic here
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}
using IronXL;
using System;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Process each row
for (int i = 0; i < workSheet.RowCount; i++)
{
    var row = workSheet.GetRow(i);

    // Skip empty rows
    if (row.IsEmpty) continue;

    // Process row data
    foreach (var cell in row)
    {
        // Your processing logic here
        Console.Write($"{cell.Value}\t");
    }
    Console.WriteLine();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie kann ich eine ganze Spalte auswählen?

Um die Spalte C auszuwählen, können Sie die Methode GetColumn(2) verwenden oder die Bereichsadresse als workSheet["C:C"] angeben. Wie bei der Methode GetRow werden alle relevanten Zellen berücksichtigt, unabhängig davon, ob die angegebene Spalte gefüllt ist oder nicht.

:path=/static-assets/excel/content-code-examples/how-to/select-range-column.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get column from worksheet
var column = workSheet.GetColumn(2);
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Get column from worksheet
Private column = workSheet.GetColumn(2)
$vbLabelText   $csharpLabel
Tabellenkalkulation mit rot hervorgehobener Spalte C, die zeigt, wie eine ganze Spalte in einem Bereichsauswahlbeispiel ausgewählt wird

TippsAlle Zeilen- und Spalten-Indexpositionen halten sich an die Null-basierte Indizierung.

Die Spaltenauswahl ist von unschätzbarem Wert bei der Arbeit mit spaltenbasierten Daten wie Finanzberichten oder Datenbankexporten. Sie können sie verwenden, wenn Sie neue Tabellenkalkulationen mit berechneten Spalten erstellen:

using IronXL;
using System;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Data");

// Add header row
workSheet["A1"].Value = "Quantity";
workSheet["B1"].Value = "Price";
workSheet["C1"].Value = "Total";

// Add sample data
for (int i = 2; i <= 10; i++)
{
    workSheet[$"A{i}"].Value = i - 1;
    workSheet[$"B{i}"].Value = 10.5 * (i - 1);
}

// Select the Total column and apply formula
var totalColumn = workSheet.GetColumn(2); // Column C
for (int i = 2; i <= 10; i++)
{
    workSheet[$"C{i}"].Formula = $"=A{i}*B{i}";
}

workBook.SaveAs("calculations.xlsx");
using IronXL;
using System;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.CreateWorkSheet("Data");

// Add header row
workSheet["A1"].Value = "Quantity";
workSheet["B1"].Value = "Price";
workSheet["C1"].Value = "Total";

// Add sample data
for (int i = 2; i <= 10; i++)
{
    workSheet[$"A{i}"].Value = i - 1;
    workSheet[$"B{i}"].Value = 10.5 * (i - 1);
}

// Select the Total column and apply formula
var totalColumn = workSheet.GetColumn(2); // Column C
for (int i = 2; i <= 10; i++)
{
    workSheet[$"C{i}"].Formula = $"=A{i}*B{i}";
}

workBook.SaveAs("calculations.xlsx");
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Wie kombiniere ich mehrere Bereiche?

IronXL bietet die Flexibilität, mehrere IronXL.Ranges.Range-Objekte mit dem '+'-Operator zu kombinieren. Mit dem Operator "+" können Sie auf einfache Weise Bereiche verketten oder zusammenführen, um einen neuen Bereich zu erstellen. Diese Funktion ist besonders nützlich, wenn Sie Operationen auf nicht zusammenhängende Zellen anwenden müssen. Für fortgeschrittene Kombinationstechniken siehe das Beispiel für die Kombination von Excel-Bereichen.

[{i:(Das direkte Kombinieren von Zeilen und Spalten mit dem Operator "+" wird nicht unterstützt.

Das Kombinieren von Bereichen wird den ursprünglichen Bereich verändern. Im nachstehenden Codeschnipsel wird die Variable Bereich so geändert, dass sie die kombinierten Bereiche enthält

:path=/static-assets/excel/content-code-examples/how-to/select-range-combine-range.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xls");
WorkSheet workSheet = workBook.WorkSheets.First();

// Get range from worksheet
var range = workSheet["A2:B2"];

// Combine two ranges
var combinedRange = range + workSheet["A5:B5"];
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xls")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Get range from worksheet
Private range = workSheet("A2:B2")

' Combine two ranges
Private combinedRange = range + workSheet("A5:B5")
$vbLabelText   $csharpLabel

Fortgeschrittene Techniken zur Bereichsauswahl

IronXL unterstützt anspruchsvolle Bereichsauswahlszenarien, die die Möglichkeiten von Excel widerspiegeln:

using IronXL;
using System;
using System.Linq;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select multiple non-adjacent ranges
var headerRange = workSheet["A1:E1"];
var dataRange1 = workSheet["A5:E10"];
var dataRange2 = workSheet["A15:E20"];

// Combine ranges for batch operations
var combinedData = dataRange1 + dataRange2;

// Apply consistent formatting across combined ranges
combinedData.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin;
combinedData.Style.Font.Height = 11;

// Copy formatting from one range to another
var sourceFormat = headerRange.Style;
dataRange1.First().Style = sourceFormat;
using IronXL;
using System;
using System.Linq;

WorkBook workBook = WorkBook.Load("data.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Select multiple non-adjacent ranges
var headerRange = workSheet["A1:E1"];
var dataRange1 = workSheet["A5:E10"];
var dataRange2 = workSheet["A15:E20"];

// Combine ranges for batch operations
var combinedData = dataRange1 + dataRange2;

// Apply consistent formatting across combined ranges
combinedData.Style.BottomBorder.Type = IronXL.Styles.BorderType.Thin;
combinedData.Style.Font.Height = 11;

// Copy formatting from one range to another
var sourceFormat = headerRange.Style;
dataRange1.First().Style = sourceFormat;
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Bei der Arbeit mit Formeln wird die Bereichsauswahl noch leistungsfähiger:

// Select a range for formula application
var calculationRange = workSheet["D2:D20"];

// Apply formulas that reference other ranges
for (int i = 2; i <= 20; i++)
{
    workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})";
}

// Use range in aggregate functions
var sumRange = workSheet["B2:B20"];
decimal totalSum = sumRange.Sum();
decimal average = sumRange.Avg();
decimal max = sumRange.Max();
// Select a range for formula application
var calculationRange = workSheet["D2:D20"];

// Apply formulas that reference other ranges
for (int i = 2; i <= 20; i++)
{
    workSheet[$"D{i}"].Formula = $"=SUM(A{i}:C{i})";
}

// Use range in aggregate functions
var sumRange = workSheet["B2:B20"];
decimal totalSum = sumRange.Sum();
decimal average = sumRange.Avg();
decimal max = sumRange.Max();
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Best Practices für die Bereichsauswahl

Beachten Sie bei der Arbeit mit Bereichen in IronXL die folgenden Tipps zu Leistung und Zuverlässigkeit:

  1. Verwenden Sie spezifische Bereichsadressen, wenn Sie die benötigten Zellen genau kennen. Dies ist effizienter als die Auswahl ganzer Zeilen oder Spalten.

  2. Überprüfen Sie die Bereichsgrenzen vor der Auswahl, um Laufzeitfehler zu vermeiden:
// Check if range exists before selection
int lastRow = workSheet.RowCount;
int lastColumn = workSheet.ColumnCount;

if (lastRow >= 10 && lastColumn >= 3)
{
    var safeRange = workSheet["A1:C10"];
    // Process range
}
// Check if range exists before selection
int lastRow = workSheet.RowCount;
int lastColumn = workSheet.ColumnCount;

if (lastRow >= 10 && lastColumn >= 3)
{
    var safeRange = workSheet["A1:C10"];
    // Process range
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel
  1. Nutzen Sie die Bereichsiteration für eine effiziente Bearbeitung:
var dataRange = workSheet["A1:E100"];

// Efficient: Process in batches
foreach (var cell in dataRange)
{
    if (cell.IsNumeric)
    {
        cell.Value = (decimal)cell.Value * 1.1; // 10% increase
    }
}
var dataRange = workSheet["A1:E100"];

// Efficient: Process in batches
foreach (var cell in dataRange)
{
    if (cell.IsNumeric)
    {
        cell.Value = (decimal)cell.Value * 1.1; // 10% increase
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
$vbLabelText   $csharpLabel

Für komplexere Szenarien wie Kopieren von Zellbereichen bietet IronXL spezielle Methoden, die Formatierungen und Formeln beibehalten.

Erste Schritte mit IronXL

Um die Funktionen von IronXL zur Bereichsauswahl in Ihren Projekten zu nutzen, beginnen Sie mit dem umfassenden Leitfaden für den Einstieg. Installieren Sie IronXL über den NuGet Package Manager:

Install-Package IronXL.Excel

Oder verwenden Sie die .NET CLI:

dotnet add package IronXL.Excel
dotnet add package IronXL.Excel
SHELL

Die Bereichsauswahl bildet die Grundlage der Excel-Bearbeitung in C#. Mit der intuitiven API von IronXL können Sie Excel-Daten effizient auswählen, bearbeiten und transformieren, ohne die Komplexität von Office Interop. Ob Sie nun Berichte erstellen, Daten analysieren oder Tabellenkalkulationsaufgaben automatisieren, die Beherrschung der Bereichsauswahl wird Ihre Produktivität erheblich steigern.

Häufig gestellte Fragen

Wie wähle ich in Excel mit C# einen Bereich von Zellen aus?

Mit IronXL können Sie einen Bereich von Zellen mit einer einfachen Syntax wie workSheet["A1:C3"] oder workSheet.GetRange("A1:C3") auswählen. Auf diese Weise können Sie rechteckige Bereiche auswählen, ohne auf Office Interop-Abhängigkeiten angewiesen zu sein.

Kann ich ganze Zeilen und Spalten programmatisch auswählen?

Ja, IronXL bietet die Methoden GetRow() und GetColumn() zur Auswahl ganzer Zeilen und Spalten in Ihrem Excel-Arbeitsblatt. Diese Methoden bieten programmatische Kontrolle über die Zeilen- und Spaltenauswahl, ohne dass eine Excel-Installation erforderlich ist.

Wie kann ich mehrere Zellbereiche in C# kombinieren?

IronXL ermöglicht es Ihnen, mehrere Bereiche mit dem Operator "+" zu kombinieren. Diese Funktion macht es einfach, mit nicht zusammenhängenden Zellauswahlen programmatisch zu arbeiten.

Welche Operationen kann ich mit ausgewählten Bereichen durchführen?

Sobald Sie mit IronXL einen Bereich ausgewählt haben, können Sie verschiedene Operationen durchführen, wie z. B. Sortieren, mathematische Berechnungen, Formatieren, Iterieren durch Zellen und Aggregieren von Daten, z. B. Berechnen von Summen.

Wie wende ich eine Formatierung auf einen ausgewählten Bereich an?

Nachdem Sie einen Bereich in IronXL ausgewählt haben, können Sie mit der Eigenschaft Stil eine Formatierung vornehmen. So können Sie beispielsweise mit range.Style.BackgroundColor Hintergrundfarben festlegen und mit range.Style.Font.Bold = true den Text fett darstellen.

Kann ich durch Zellen in einem ausgewählten Bereich iterieren?

Ja, IronXL ermöglicht es Ihnen, mit einer foreach-Schleife durch die Zellen in einem ausgewählten Bereich zu iterieren. Jede Zelle bietet Zugriff auf ihren Wert und ihre Adresse, was die zellenweise Verarbeitung von Daten erleichtert.

Chaknith Bin
Software Ingenieur
Chaknith arbeitet an IronXL und IronBarcode. Er hat umfassende Expertise in C# und .NET und hilft, die Software zu verbessern und Kunden zu unterstützen. Seine Einblicke aus Benutzerinteraktionen tragen zu besseren Produkten, Dokumentationen und einem insgesamt besseren Erlebnis bei.
Bereit anzufangen?
Nuget Downloads 1,765,830 | Version: 2025.12 gerade veröffentlicht