C&num ; Ouvrir des feuilles de calcul Excel
Apprenez à utiliser les fonctions C# pour ouvrir des feuilles de calcul Excel et travailler avec des tableurs 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 l'objet WorkBook
- Explorez de nombreuses façons de sélectionner WorkSheet à partir du fichier Excel ouvert
- Accéder aux données de cellule via l'objet WorkSheet sélectionné
- Obtenir des données à partir d'une plage de lignes et de colonnes
How to Open Excel Worksheet in C#
Installer la bibliothèque Excel pour lire les fichiers Excel.
Chargez 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
Accéder à la bibliothèque Excel C
Accédez à la bibliothèque Excel C# via DLL ou installez-la en utilisant votre gestionnaire NuGet préféré. 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()
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 WorkSheet
spécifique d'un fichier Excel, IronXL propose la fonction WorkBook.GetWorkSheet()
. 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 WorkSheet
spécifiée s'ouvrira dans ws
avec toutes ses données. Il existe également quelques autres moyens d'ouvrir une WorkSheet
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()
Maintenant, nous devons juste obtenir des données de la WorkSheet
Excel ouverte.
4. Obtenir des données de la feuille de travail
Nous pouvons obtenir des données à partir d'une WorkSheet
Excel ouverte de la manière suivante :
Obtenez la valeur d'une cellule spécifique de la feuille de calcul Excel
WorkSheet
.Obtenezdes données dans une
plage spécifique. Obteneztoutes les données de la
FeuilleDeCalcul 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 à partir d'une WorkSheet
Excel est d'obtenir les valeurs des cellules spécifiques. 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 le WorkSheet
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 ligne [3].Colonne [1]
et cellule C6
:
Les index des lignes et des colonnes commencent à 0
.
Ouvrez les WorkSheets
Excel et obtenez les données d'appel spécifiques, et vous pouvez lire plus sur comment lire des données Excel en C# à partir de feuilles Excel déjà ouvertes.
4.2. Obtenir des données d'une plage spécifique
Voyons maintenant comment obtenir des données dans une plage spécifique à partir d'une feuille de calcul Excel WorkSheet
ouverte en utilisant IronXL.
IronXL offre un moyen intelligent d'obtenir des données dans une plage spécifique. Nous spécifions simplement les valeurs from
à 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 de l'utilisation de la plage pour obtenir des données à partir d'une WorkSheet
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 extraira 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"]
Cela affichera toutes les valeurs de A1
à E1
. En savoir plus sur les plages Excel C# et comment travailler avec les 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 parcourrons toutes les cellules de WorkSheet
et accèderons à leurs valeurs.
Dans cet exemple, deux boucles fonctionnent essentiellement : l'une sert à parcourir chaque ligne de la feuille de calcul Excel WorkSheet
et l'autre à parcourir 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 l'WorkSheet
Excel ouvert complet.
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