Comment sélectionner une plage dans Excel avec C
IronXL permet aux développeurs C# de sélectionner et de manipuler des plages, des lignes et des colonnes dans un fichier Excel, ainsi que 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 tracas. C'est le moyen le plus rapide de commencer à manipuler plusieurs cellules à la fois.
-
Installez IronXL avec le Gestionnaire de Packages NuGet
PM > Install-Package IronXL.Excel -
Copiez et exécutez cet extrait de code.
var range = workSheet.GetRange("A1:C3"); -
Déployez pour tester sur votre environnement de production.
Commencez à utiliser IronXL dans votre projet dès aujourd'hui avec un essai gratuit
Flux de travail minimal (5 étapes)
- Téléchargez la bibliothèque C# pour sélectionner une plage
- Utilisez **workSheet ["A2:B8"]** directement après l'objet WorkSheet pour sélectionner une plage de cellules.
- Utilisez la méthode `GetRow` pour sélectionner une ligne d'une feuille de calcul
- Sélectionnez une colonne de la feuille de calcul donnée à l'aide de la méthode `GetColumn`
- Combinez facilement des plages de valeurs grâce à l'opérateur " + ".
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.
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")
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}");
Imports IronXL
Imports System
Imports System.Linq
' Load an existing spreadsheet
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
' Select a range and perform operations
Dim 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
For Each cell In range
Console.WriteLine($"Cell {cell.AddressString}: {cell.Value}")
Next
' Get sum of numeric values in the range
Dim sum As Decimal = range.Sum()
Console.WriteLine($"Sum of range: {sum}")
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 indexation à partir de 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)
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();
}
Imports IronXL
Imports System
Imports System.Linq
Dim workBook As WorkBook = WorkBook.Load("data.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
' Process each row
For i As Integer = 0 To workSheet.RowCount - 1
Dim row = workSheet.GetRow(i)
' Skip empty rows
If row.IsEmpty Then Continue For
' Process row data
For Each cell In row
' Your processing logic here
Console.Write($"{cell.Value}" & vbTab)
Next
Console.WriteLine()
Next
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 plage comme workSheet["C:C"]. Tout comme la méthode GetRow, elle inclura toutes les cellules pertinentes, qu'elles soient remplies ou non 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)
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");
Imports IronXL
Imports System
' Create a new workbook
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Data")
' Add header row
workSheet("A1").Value = "Quantity"
workSheet("B1").Value = "Price"
workSheet("C1").Value = "Total"
' Add sample data
For i As Integer = 2 To 10
workSheet($"A{i}").Value = i - 1
workSheet($"B{i}").Value = 10.5 * (i - 1)
Next
' Select the Total column and apply formula
Dim totalColumn = workSheet.GetColumn(2) ' Column C
For i As Integer = 2 To 10
workSheet($"C{i}").Formula = $"=A{i}*B{i}"
Next
workBook.SaveAs("calculations.xlsx")
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.
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")
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;
Imports IronXL
Imports System
Imports System.Linq
Dim workBook As WorkBook = WorkBook.Load("data.xlsx")
Dim workSheet As WorkSheet = workBook.WorkSheets.First()
' Select multiple non-adjacent ranges
Dim headerRange = workSheet("A1:E1")
Dim dataRange1 = workSheet("A5:E10")
Dim dataRange2 = workSheet("A15:E20")
' Combine ranges for batch operations
Dim 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
Dim sourceFormat = headerRange.Style
dataRange1.First().Style = sourceFormat
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();
Imports System
' Select a range for formula application
Dim calculationRange = workSheet("D2:D20")
' Apply formulas that reference other ranges
For i As Integer = 2 To 20
workSheet($"D{i}").Formula = $"=SUM(A{i}:C{i})"
Next
' Use range in aggregate functions
Dim sumRange = workSheet("B2:B20")
Dim totalSum As Decimal = sumRange.Sum()
Dim average As Decimal = sumRange.Avg()
Dim max As Decimal = sumRange.Max()
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é :
-
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.
- 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
}
' Check if range exists before selection
Dim lastRow As Integer = workSheet.RowCount
Dim lastColumn As Integer = workSheet.ColumnCount
If lastRow >= 10 AndAlso lastColumn >= 3 Then
Dim safeRange = workSheet("A1:C10")
' Process range
End If
- 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
}
}
Dim dataRange = workSheet("A1:E100")
' Efficient: Process in batches
For Each cell In dataRange
If cell.IsNumeric Then
cell.Value = CType(cell.Value, Decimal) * 1.1D ' 10% increase
End If
Next
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 Package Manager 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
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.

