Comment sélectionner une plage dans Excel en utilisant C# | IronXL

Comment sélectionner une plage dans Excel avec C#35;

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

IronXL permet aux développeurs C# de sélectionner et de manipuler des plages, des lignes et des colonnes Excel sans dépendre d'Office Interop. Utilisez une syntaxe simple comme workSheet["A1:C3"] pour sélectionner des plages, GetRow() pour les lignes et GetColumn() pour les colonnes de manière programmatique.

Démarrage rapide : Sélectionner une plage de cellules dans IronXL en une seule ligne

Utilisez un seul appel à GetRange sur une feuille de calcul IronXL pour récupérer une plage rectangulaire comme " A1:C3 " — sans boucles, sans complications. C'est le moyen le plus rapide de commencer à manipuler plusieurs cellules à la fois.

Nuget IconCommencez dès maintenant à créer des PDF avec NuGet :

  1. Installez IronXL avec le gestionnaire de packages NuGet

    PM > Install-Package IronXL.Excel

  2. Copiez et exécutez cet extrait de code.

    var range = workSheet.GetRange("A1:C3");
  3. Déployez pour tester sur votre environnement de production.

    Commencez à utiliser IronXL dans votre projet dès aujourd'hui grâce à un essai gratuit.
    arrow pointer


Comment sélectionner différents types de plages dans IronXL?

Avec IronXL, vous pouvez effectuer diverses opérations sur des plages sélectionnées, telles que le tri, les calculs et les agrégations. La bibliothèque fournit des méthodes intuitives de sélection de plage qui reflètent la fonctionnalité native d'Excel tout en offrant un contrôle programmatique.

La sélection des plages constitue la base de nombreuses opérations Excel. Que vous effectuiez des calculs mathématiques, que vous appliquiez un formatage ou que vous extrayiez des données, la première étape consiste à sélectionner les bonnes cellules. IronXL simplifie ce processus grâce à son API de sélection de plage flexible.

Veuillez noterLors de l'application de méthodes qui modifient ou déplacent les valeurs des cellules, la plage, la ligne ou la colonne concernée mettra à jour ses valeurs en conséquence.

IronXL nous permet de combiner plusieurs objets IronXL.Ranges.Range à l'aide de l'opérateur '+'.

Comment sélectionner une plage rectangulaire de cellules ?

Pour sélectionner une plage de cellules allant de A2 à B8 , vous pouvez utiliser le code suivant :

: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
Feuille de calcul montrant la plage B2:C8 surlignée en rose, démontrant la sélection visuelle dans une grille d'exemples de données

Travailler avec des plages sélectionnées

Une fois que vous avez sélectionné une gamme, IronXL propose de nombreuses opérations que vous pouvez effectuer :

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

Pour les opérations plus complexes sur les feuilles de calcul, consultez la documentation complète de l'API.

Comment sélectionner une ligne entière?

Pour sélectionner la 4ème ligne, vous pouvez utiliser la méthode GetRow(3) avec un indexage à base zéro. Cela inclura toutes les cellules de la 4ème ligne, même si certaines cellules correspondantes dans d'autres lignes sont vides.

: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
Feuille de calcul avec la ligne 4 sélectionnée, montrant une bordure rouge autour des cellules B4 à F4 pour démontrer la sélection de ligne

La sélection de lignes est particulièrement utile lorsque vous devez traiter des données ligne par ligne. Par exemple, lorsque vous chargez des données de feuilles de calcul à des fins d'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

Comment sélectionner une colonne entière?

Pour sélectionner la colonne C, vous pouvez utiliser la méthode GetColumn(2) ou spécifier l'adresse de la plage sous la forme feuille de travail["C:C"]. Comme la méthode GetRow, elle inclura toutes les cellules pertinentes, qu'elles soient ou non remplies dans la colonne spécifiée.

: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
Feuille de calcul avec la colonne C surlignée en rouge montrant comment sélectionner une colonne entière dans un exemple de sélection de plage

ConseilsToutes les positions d'index de ligne et de colonne respectent l'indexation à partir de zéro.

La sélection de colonnes s'avère inestimable lorsque l'on travaille avec des données en colonnes telles que des rapports financiers ou des exportations de bases de données. Vous pouvez l'utiliser lorsque vous créez de nouvelles feuilles de calcul avec des colonnes calculées :

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

Comment combiner plusieurs plages?

IronXL offre la possibilité de combiner plusieurs objets IronXL.Ranges.Range à l'aide de l'opérateur '+'. En utilisant l'opérateur "+", vous pouvez facilement concaténer ou fusionner des plages pour en créer une nouvelle. Cette fonctionnalité est particulièrement utile lorsque vous devez appliquer des opérations à des cellules non contiguës. Pour les techniques de combinaison avancées, voir l'exemple combinaison de plages Excel.

[{i:(La combinaison directe de lignes et de colonnes à l'aide de l'opérateur '+' n'est pas prise en charge.

La combinaison de plages modifiera la plage d'origine. Dans l'extrait de code ci-dessous, la variable range sera modifiée pour inclure les plages combinées.

: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

Techniques avancées de sélection de plage

IronXL prend en charge des scénarios de sélection de plage sophistiqués qui reflètent les capacités d'Excel :

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

Lorsque vous travaillez avec des formules, la sélection de plage devient encore plus puissante :

// 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

Bonnes pratiques pour la sélection des gammes

Lorsque vous travaillez avec des plages dans IronXL, tenez compte de ces conseils en matière de performances et de fiabilité :

  1. Utiliser des adresses de plage spécifiques lorsque vous connaissez les cellules exactes nécessaires. Cette méthode est plus efficace que la sélection de lignes ou de colonnes entières.

  2. Validez les limites de la plage avant la sélection pour éviter les erreurs d'exécution :
// 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. <Utilisez l'itération de gamme pour un traitement efficace :
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

Pour les scénarios plus complexes comme copier des plages de cellules, IronXL fournit des méthodes spécialisées qui conservent le formatage et les formules.

Premiers pas avec IronXL

Pour commencer à utiliser les fonctions de sélection de la gamme IronXL dans vos projets, commencez par le guide complet de démarrage. Installez IronXL via le gestionnaire de paquets NuGet :

Install-Package IronXL.Excel

Ou en utilisant l'interface de ligne de commande .NET :

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

La sélection de plage constitue la base de la manipulation d'Excel en C#. Grâce à l'API intuitive d'IronXL, vous pouvez sélectionner, manipuler et transformer efficacement les données Excel sans la complexité de l'interopérabilité avec Office. Que vous élaboriez des rapports, analysiez des données ou automatisiez des tâches de feuille de calcul, la maîtrise de la sélection de plage améliorera considérablement votre productivité.

Questions Fréquemment Posées

Comment sélectionner une plage de cellules dans Excel à l'aide de C# ?

Avec IronXL, vous pouvez sélectionner une plage de cellules à l'aide d'une syntaxe simple comme workSheet["A1:C3"] ou workSheet.GetRange("A1:C3"). Cela vous permet de sélectionner des plages rectangulaires sans avoir recours aux dépendances Office Interop.

Puis-je sélectionner des lignes et des colonnes entières par programme ?

Oui, IronXL fournit les méthodes GetRow() et GetColumn() pour sélectionner des lignes et des colonnes entières dans votre feuille de calcul Excel. Ces méthodes offrent un contrôle programmatique sur la sélection des lignes et des colonnes sans nécessiter l'installation d'Excel.

Comment combiner plusieurs plages de cellules en C# ?

IronXL vous permet de combiner plusieurs plages à l'aide de l'opérateur "+". Cette fonction facilite le travail programmatique avec des sélections de cellules non contiguës.

Quelles opérations puis-je effectuer sur les plages sélectionnées ?

Une fois que vous avez sélectionné une plage avec IronXL, vous pouvez effectuer diverses opérations, notamment le tri, les calculs mathématiques, l'application de la mise en forme, l'itération dans les cellules et l'agrégation de données comme le calcul de sommes.

Comment appliquer une mise en forme à une plage sélectionnée ?

Après avoir sélectionné une plage dans IronXL, vous pouvez appliquer une mise en forme à l'aide de la propriété Style. Par exemple, vous pouvez définir des couleurs d'arrière-plan avec range.Style.BackgroundColor et mettre le texte en gras avec range.Style.Font.Bold = true.

Puis-je itérer sur les cellules d'une plage sélectionnée ?

Oui, IronXL vous permet d'itérer à travers les cellules d'une plage sélectionnée à l'aide d'une boucle foreach. Chaque cellule donne accès à sa valeur et à son adresse, ce qui facilite le traitement des données cellule par cellule.

Chaknith Bin
Ingénieur logiciel
Chaknith travaille sur IronXL et IronBarcode. Il a une expertise approfondie en C# et .NET, aidant à améliorer le logiciel et à soutenir les clients. Ses idées issues des interactions avec les utilisateurs contribuent à de meilleurs produits, documentation et expérience globale.
Prêt à commencer?
Nuget Téléchargements 1,765,830 | Version : 2025.12 vient de sortir