Les feuilles de calcul MS Excel sont largement utilisées pour conserver les données de petite, moyenne ou grande taille. Dans divers cas, les feuilles de calcul agissent comme une base de données pour stocker les données d’application. Dans de telles situations, vous devrez peut-être lire les données stockées dans les fichiers Excel à partir de vos applications Web ou de bureau. Dans de tels cas, cet article explique comment convertir des données Excel en DataTables en C#.
- API C# pour exporter des données Excel vers DataTable
- Excel vers DataTable en C#
- Convertir des données Excel fortement typées en DataTable
- Convertir des données Excel non fortement typées en DataTable
- Obtenez une licence gratuite
API de conversion C# Excel vers DataTable
Aspose.Cells for .NET est une bibliothèque de classes qui vous permet d’implémenter des fonctionnalités d’automatisation Excel dans les applications .NET. De plus, l’API vous permet d’exporter des données de feuilles de calcul Excel vers ADO.NET DataTable en quelques étapes. Vous pouvez soit télécharger l’API ou l’installer via NuGet.
PM> Install-Package Aspose.Cells
Convertir Excel en DataTable en C#
Il peut y avoir deux scénarios possibles lors de l’exportation de données à partir de feuilles de calcul Excel vers DataTables : les données peuvent être fortement typées ou non fortement typées. Dans les deux cas, vous pouvez effectuer une conversion Excel vers DataTable en conséquence. Voyons comment gérer l’un ou l’autre des scénarios mentionnés ci-dessus.
Convertir des données Excel fortement typées en DataTable en C#
Les données fortement typées signifient que les valeurs d’une seule colonne appartiennent à un type de données particulier. Dans de tels cas, vous pouvez exporter des données Excel vers DataTable en C# en procédant comme suit.
- Utilisez la classe Workbook pour charger le fichier Excel.
- Obtenez la feuille de calcul que vous souhaitez exporter dans un objet Worksheet.
- Utilisez la méthode Worksheet.Cells.ExportDataTable(int, int, int, int, bool) pour exporter des données vers un objet DataTable.
- Utilisez DataTable comme source de données.
L’exemple de code suivant montre comment exporter Excel vers DataTable.
// Créer un flux de fichiers contenant le fichier Excel à ouvrir
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// Instancier un objet Workbook
//Ouverture du fichier Excel via le flux de fichiers
Workbook workbook = new Workbook(fstream);
// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];
// Exporter le contenu de 2 lignes et 2 colonnes à partir de la 1ère cellule vers DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);
// Lier le DataTable avec DataGrid
dataGridView1.DataSource = dataTable;
// Fermez le flux de fichiers pour libérer toutes les ressources
fstream.Close();
Convertir des données Excel non fortement typées en DataTable en C#
Examinons maintenant l’autre cas où les valeurs de la feuille de calcul ne sont pas fortement typées. Cela signifie qu’ils n’appartiennent pas à un type de données particulier. Voici les étapes pour exporter des données Excel vers DataTable dans ce cas.
- Utilisez la classe Workbook pour charger le fichier Excel.
- Sélectionnez la feuille de calcul que vous souhaitez exporter dans un objet Worksheet.
- Utilisez la méthode Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) pour exporter des données vers un objet DataTable.
- Utilisez DataTable comme source de données.
L’exemple de code suivant montre comment exporter des données non fortement typées d’Excel vers DataTable en C#.
// Créer un flux de fichiers contenant le fichier Excel à ouvrir
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);
// Instancier un objet Workbook
//Ouverture du fichier Excel via le flux de fichiers
Workbook workbook = new Workbook(fstream);
// Accéder à la première feuille de calcul du fichier Excel
Worksheet worksheet = workbook.Worksheets[0];
// Exporter le contenu de 2 lignes et 2 colonnes à partir de la 1ère cellule vers DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);
// Lier le DataTable avec DataGrid
dataGridView1.DataSource = dataTable;
// Fermez le flux de fichiers pour libérer toutes les ressources
fstream.Close();
Obtenez une licence gratuite
Vous pouvez obtenir une licence temporaire gratuite afin d’essayer l’API sans limitations d’évaluation.
Conclusion
Dans cet article, vous avez appris à exporter ou à convertir des données Excel vers ADO.NET DataTables à l’aide de C#. Le didacticiel pas à pas et les exemples de code ont montré comment traiter les données fortement typées et non fortement typées dans les feuilles de calcul. Vous pouvez en savoir plus sur l’API C# Excel à l’aide de documentation.