C&num ; Ouvrir des feuilles de calcul Excel
Apprenez à utiliser les fonctions C# d'ouverture de feuilles de calcul Excel pour travailler avec des feuilles de calcul Excel et ouvrir tous les types de fichiers, y compris (.xls
, .csv
, .tsv
et .xlsx
). Ouvrir une feuille de calcul Excel, lire ses données et la manipuler de manière programmatique est essentiel pour de nombreux développeurs d'applications. Voici une solution pour tous les développeurs qui veulent une méthode avec moins de lignes de code et des temps de réponse plus rapides.
Comment ouvrir un fichier Excel en C#
- Installer une bibliothèque C# pour ouvrir un fichier Excel
- Charger le fichier Excel dans Livre de travail objet
- Explorer les nombreuses possibilités de sélection Feuille de travail à partir du fichier Excel ouvert
- Accéder aux données cellulaires par le biais de l'option sélectionnée Feuille de travail objet
- Obtenir des données à partir d'une plage de lignes et de colonnes
Comment ouvrir une feuille de calcul Excel dans C# ;
Installer la bibliothèque Excel pour lire les fichiers Excel.
Charge le fichier Excel existant dans un objet
Workbook
.Définir la feuille de calcul Excel par défaut.
Lire la valeur du classeur Excel.
- Traiter la valeur en conséquence et l'afficher.
Étape 1
1. Bibliothèque Access Excel C
Accéder à la Bibliothèque Excel C# via DLL ou l'installer à l'aide de votre logiciel préféré Gestionnaire NuGet. Une fois que vous avez accédé à la bibliothèque IronXL et que vous l'avez ajoutée à votre projet, vous pouvez utiliser toutes les fonctions ci-dessous pour ouvrir des feuilles de calcul Excel en C#.
Install-Package IronXL.Excel
Comment faire Tutoriel
2. Charger un fichier Excel
Utilisez la fonction WorkBook.Load()
fonction d'IronXL pour charger des fichiers Excel dans le projet. Cette fonction nécessite un paramètre de type chaîne, qui est le chemin du fichier Excel à ouvrir. Voir ici :
WorkBook wb = WorkBook.Load("Path");//Excel file path
WorkBook wb = WorkBook.Load("Path");//Excel file path
Dim wb As WorkBook = WorkBook.Load("Path") 'Excel file path
Le fichier Excel du chemin spécifié sera chargé dans wb
. Nous devons maintenant spécifier la feuille de calcul Excel qui sera ouverte.
3. Ouvrir une feuille de travail Excel
Pour ouvrir une Feuille de Travail
spécifique d'un fichier Excel, IronXL fournit la fonction WorkBook.GetWorkSheet
()` fonction. Ainsi, nous pouvons facilement ouvrir la feuille de travail par son nom :
WorkSheet ws = WorkBook.GetWorkSheet("SheetName");
WorkSheet ws = WorkBook.GetWorkSheet("SheetName");
Dim ws As WorkSheet = WorkBook.GetWorkSheet("SheetName")
La Feuille de Travail
spécifiée s'ouvrira dans ws
avec toutes ses données. Il existe également d'autres moyens d'ouvrir une "feuille de travail" spécifique d'un fichier Excel :
/**
Open Excel Worksheet
anchor-open-excel-worksheet
**/
//by sheet index
WorkSheet ws = wb.WorkSheets [0];
//for the default
WorkSheet ws = wb.DefaultWorkSheet;
//for the first sheet:
WorkSheet ws = wb.WorkSheets.First();
//for the first or default sheet:
WorkSheet ws = wb.WorkSheets.FirstOrDefault();
/**
Open Excel Worksheet
anchor-open-excel-worksheet
**/
//by sheet index
WorkSheet ws = wb.WorkSheets [0];
//for the default
WorkSheet ws = wb.DefaultWorkSheet;
//for the first sheet:
WorkSheet ws = wb.WorkSheets.First();
//for the first or default sheet:
WorkSheet ws = wb.WorkSheets.FirstOrDefault();
'''
'''Open Excel Worksheet
'''anchor-open-excel-worksheet
'''*
'by sheet index
Dim ws As WorkSheet = wb.WorkSheets (0)
'for the default
Dim ws As WorkSheet = wb.DefaultWorkSheet
'for the first sheet:
Dim ws As WorkSheet = wb.WorkSheets.First()
'for the first or default sheet:
Dim ws As WorkSheet = wb.WorkSheets.FirstOrDefault()
Il ne nous reste plus qu'à récupérer les données de la feuille de travail Excel ouverte.
4. Obtenir des données de la feuille de travail
Nous pouvons obtenir des données à partir d'une feuille de travail Excel ouverte de la manière suivante :
Obtenir la valeur d'une cellule spécifique de la feuille de travail Excel.
obtenir des données dans une plage spécifique.
obtenir toutes les données de
WorkSheet
.Voyons un par un comment obtenir des données de différentes manières à l'aide de ces exemples :
4.1. Obtenir une valeur de cellule spécifique
La première approche pour obtenir des données d'une feuille de travail Excel consiste à récupérer les valeurs spécifiques des cellules. On peut y accéder de la manière suivante :
string val = ws ["Cell Address"].ToString();
string val = ws ["Cell Address"].ToString();
Dim val As String = ws ("Cell Address").ToString()
ws
est la Feuille de Travail
du fichier Excel, comme nous le verrons dans les exemples suivants. Il est également possible d'accéder à des valeurs de cellules spécifiques en spécifiant l'"indice de ligne" et l'"indice de colonne"
string val=ws.Rows [RowIndex].Columns [ColumnIndex].Value.ToString();
string val=ws.Rows [RowIndex].Columns [ColumnIndex].Value.ToString();
Dim val As String=ws.Rows (RowIndex).Columns (ColumnIndex).Value.ToString()
Voyons un exemple d'ouverture d'un fichier Excel dans notre projet C# et d'obtention de valeurs de cellules spécifiques en utilisant les deux méthodes :
/**
Get Cell Value
anchor-get-specific-cell-value
**/
using IronXL;
static void Main(string [] args)
{
//Load Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
//Open WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//Get value By Cell Address
Int32 int_val= ws ["C6"].Int32Value;
//Get value by Row and Column Address
string str_val=ws.Rows [3].Columns [1].Value.ToString();
Console.WriteLine("Getting Value by Cell Address: {0}",int_val);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val);
Console.ReadKey();
}
/**
Get Cell Value
anchor-get-specific-cell-value
**/
using IronXL;
static void Main(string [] args)
{
//Load Excel file
WorkBook wb = WorkBook.Load("sample.xlsx");
//Open WorkSheet
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//Get value By Cell Address
Int32 int_val= ws ["C6"].Int32Value;
//Get value by Row and Column Address
string str_val=ws.Rows [3].Columns [1].Value.ToString();
Console.WriteLine("Getting Value by Cell Address: {0}",int_val);
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val);
Console.ReadKey();
}
'''
'''Get Cell Value
'''anchor-get-specific-cell-value
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
'Load Excel file
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
'Open WorkSheet
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'Get value By Cell Address
Dim int_val As Int32= ws ("C6").Int32Value
'Get value by Row and Column Address
Dim str_val As String=ws.Rows (3).Columns (1).Value.ToString()
Console.WriteLine("Getting Value by Cell Address: {0}",int_val)
Console.WriteLine("Getting Value by Row and Column Indexes: {0}",str_val)
Console.ReadKey()
End Sub
Ce code affiche la sortie suivante :
Valeur du fichier Excel sample.xlsx
dans row [3]colonne [1]
et la cellule C6
:
L'index des lignes et des colonnes commence à 0
.
Ouvrez Excel WorkSheets
et obtenez les données d'appel spécifiques, et vous pouvez en savoir plus sur la façon de procéder lire des données Excel en C# à partir de feuilles de calcul Excel déjà ouvertes.
4.2. Obtenir des données d'une plage spécifique
Voyons maintenant comment obtenir des données dans un intervalle spécifique à partir d'une feuille de travail Excel ouverte en utilisant IronXL.
IronXL offre un moyen intelligent d'obtenir des données dans une plage spécifique. Il suffit de spécifier les valeurs from
et to
:
WorkSheet ["From Cell Address : To Cell Address"];
WorkSheet ["From Cell Address : To Cell Address"];
WorkSheet ("From Cell Address : To Cell Address")
Voyons un exemple d'utilisation d'une plage pour obtenir des données à partir d'une feuille de travail Excel ouverte :
/**
Get Data from Range
anchor-get-data-from-specific-range
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//specify the range
foreach (var cell in ws ["B2:B10"])
{
Console.WriteLine("value is: {0}", cell.Text);
}
Console.ReadKey();
}
/**
Get Data from Range
anchor-get-data-from-specific-range
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//specify the range
foreach (var cell in ws ["B2:B10"])
{
Console.WriteLine("value is: {0}", cell.Text);
}
Console.ReadKey();
}
'''
'''Get Data from Range
'''anchor-get-data-from-specific-range
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'specify the range
For Each cell In ws ("B2:B10")
Console.WriteLine("value is: {0}", cell.Text)
Next cell
Console.ReadKey()
End Sub
Le code ci-dessus extrait les données de B2
à B10
comme suit :
Nous pouvons voir les valeurs du fichier Excel sample.xlsx
, de B2
à B10
:
4.3. Obtenir les données de la ligne
Nous pouvons également décrire un intervalle pour une ligne spécifique. Par exemple :
WorkSheet ["A1:E1"]
WorkSheet ["A1:E1"]
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'WorkSheet ["A1:E1"]
Ceci affichera toutes les valeurs de A1
à E1
. En savoir plus Plages C# Excel et comment travailler avec différentes identifications de lignes et de colonnes.
4.4. Récupérer toutes les données de la feuille de calcul
Il est également facile d'obtenir toutes les données des cellules de la feuille de calcul Excel ouverte à l'aide d'IronXL. Pour cette tâche, nous devons accéder à chaque valeur de cellule par les index de ligne et de colonne. Voyons l'exemple suivant, dans lequel nous allons parcourir toutes les cellules de la Feuille de Travail
et accéder à ses valeurs.
Dans cet exemple, deux boucles fonctionnent : l'une parcourt chaque ligne de la feuille de travail Excel et l'autre parcourt chaque colonne d'une ligne spécifique. De cette manière, chaque valeur de cellule est facilement accessible.
/**
Get All Data
anchor-get-all-data-from-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample2.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//access all rows of open Excel WorkSheet
for (int i = 0; i < ws.Rows.Count(); i++)
{
//access all columns of specific row
for (int j = 0; j < ws.Columns.Count(); j++)
{
//Access each cell for specified column
Console.WriteLine(ws.Rows [i].Columns [j].Value.ToString());
}
}
Console.ReadKey();
}
/**
Get All Data
anchor-get-all-data-from-worksheet
**/
using IronXL;
static void Main(string [] args)
{
WorkBook wb = WorkBook.Load("sample2.xlsx");
WorkSheet ws = wb.GetWorkSheet("Sheet1");
//access all rows of open Excel WorkSheet
for (int i = 0; i < ws.Rows.Count(); i++)
{
//access all columns of specific row
for (int j = 0; j < ws.Columns.Count(); j++)
{
//Access each cell for specified column
Console.WriteLine(ws.Rows [i].Columns [j].Value.ToString());
}
}
Console.ReadKey();
}
'''
'''Get All Data
'''anchor-get-all-data-from-worksheet
'''*
Imports IronXL
Shared Sub Main(ByVal args() As String)
Dim wb As WorkBook = WorkBook.Load("sample2.xlsx")
Dim ws As WorkSheet = wb.GetWorkSheet("Sheet1")
'access all rows of open Excel WorkSheet
For i As Integer = 0 To ws.Rows.Count() - 1
'access all columns of specific row
For j As Integer = 0 To ws.Columns.Count() - 1
'Access each cell for specified column
Console.WriteLine(ws.Rows (i).Columns (j).Value.ToString())
Next j
Next i
Console.ReadKey()
End Sub
La sortie du code ci-dessus affichera la valeur de chaque cellule de la feuille de travail Excel ouverte.
Tutoriel Accès rapide
Ressource de référence de l'API
Utilisez la ressource IronXL API Reference comme guide pour toutes les fonctions et classes à utiliser dans vos projets, ainsi que pour les espaces de noms, les champs de méthodes, les enums et les ensembles de caractéristiques.
Ressource de référence de l'API