using IronXL;
using System;
using System.Linq;
// Supported for XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select a cell and return the converted value
int cellValue = workSheet["A2"].IntValue;
// Read from ranges of cells elegantly.
foreach (var cell in workSheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Calculate aggregate values such as Min, Max and Sum
decimal sum = workSheet["A2:A10"].Sum();
// Linq compatible
decimal max = workSheet["A2:A10"].Max(c => c.DecimalValue);
Comment convertir un ensemble de données en CSV en C#
Mise à jour février 20, 2024
Partager:
L'article suivant montre comment convertir un ensemble de données C# en fichier CSV.
IronXL est une excellente solution pour travailler avec des feuilles de calcul, que ce soit au format CSV ou au format Excel. IronXL est libre de développement, facile à utiliser et offre des fonctionnalités étendues pour travailler avec n'importe quel type de feuille de calcul. Il est sûr et très performant. Avant d'aller plus loin, présentons brièvement IronXL.
IronXL
IronXL est uneIron Software qui permet aux développeurs C# de lire, générer et modifier des fichiers Excel(et autres fichiers de tableurs) dans les applications et sites web .NET.
IronXL est un moyen rapide et facile de travailler avec Excel et d'autres fichiers de feuilles de calcul en C# et .NET. IronXL fonctionne bien avec .NET Framework, .NET Core et Azure sans qu'il soit nécessaire de recourir à Office Excel Interopm. IronXL ne nécessite pas non plus l'installation de Microsoft Office ni d'autres dépendances de ce type.
Passons maintenant à la création et à l'écriture du code permettant de créer un fichier CSV pour un ensemble de données.
Créer un nouveau projet Visual Studio
Ouvrez l'IDE Visual Studio ; la dernière version de Visual Studio est recommandée, mais vous pouvez utiliser n'importe quelle version selon vos préférences. Veuillez noter que les étapes de création d'un nouveau projet peuvent différer d'une version à l'autre.
Fenêtre de démarrage de Visual Studio
Cliquez sur Créer un nouveau projet. Une nouvelle fenêtre apparaît comme indiqué ci-dessous.
Créer un nouveau projet dans Visual Studio
Sélectionnez le modèle de projet de votre choix dans la liste. Cliquez sur le bouton Suivant, et une nouvelle fenêtre apparaîtra comme indiqué ci-dessous.
Configurer le projet nouvellement créé
Nommez votre projet, sélectionnez son emplacement et cliquez sur le bouton Suivant. Une nouvelle fenêtre apparaît comme indiqué ci-dessous.
Sélectionner une version du Framework .NET
Sélectionnez votre Framework .NET cible. Vous pouvez choisir n'importe quel Framework .NET qui correspond à vos besoins, car IronXL prend en charge tous les Framework .NET. Ce tutoriel utilisera .NET 7. Cliquez sur le bouton Créer, et un nouveau projet sera créé, comme indiqué ci-dessous.
une nouvelle application console dans Visual Studio
Installez maintenant le paquet NuGet IronXL pour l'utiliser dans cette application.
Installer IronXL
Ouvrez la console du gestionnaire de paquets NuGet et entrez la commande suivante.
Install-Package IronXL.Excel
LesPaquet NuGet sera installé et prêt à l'emploi comme indiqué ci-dessous.
L'installation du paquet IronXL et de ses dépendances
Maintenant, écrivons un peu de code pour convertir un ensemble de données en un fichier CSV en C#.
Cet exemple permet d'alimenter les données d'une base de données SQL Server. Après avoir obtenu l'ensemble des données de la base de données SQL, nous allons créer un fichier CSV en utilisant ces données d'entrée.
Créer le tableau de données
La première étape consiste à alimenter les données à partir de SQL, mais vous pouvez utiliser n'importe quelle source de données.
Ce tutoriel utilise les données suivantes :
Créer une nouvelle base de données avec des données d'exemple
Voici le script SQL qui permet de créer les données de l'échantillon :
Le code C# suivant est utilisé pour exporter le tableau de données vers un fichier CSV.
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
public static DataTable getData()
{
string connString = @"server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;";
string query = "select * from STUDENT_DATA";
try
{
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand(query, conn);
conn.Open();
// create data adapter
SqlDataAdapter da = new SqlDataAdapter(cmd);
// this will query your database and return the result to your datatable
DataTable dt = new DataTable();
da.Fill(dt);
da.Dispose();
return dt;
} catch(Exception)
{
throw;
}
}
static void Main(string [] args)
{
DataTable table = getData();
WorkBook wb = WorkBook.Create(ExcelFileFormat.XLS);
wb.Metadata.Author = "JOHN";
WorkSheet ws = wb.DefaultWorkSheet;
int rowCount = 1;
foreach (DataRow row in table.Rows)
{
ws ["A" + (rowCount)].Value = row [0].ToString();
ws ["B" + (rowCount)].Value = row [1].ToString();
ws ["C" + (rowCount)].Value = row [2].ToString();
ws ["D" + (rowCount)].Value = row [3].ToString();
ws ["E" + (rowCount)].Value = row [4].ToString();
rowCount++;
}
wb.SaveAsCsv(@"D:\Tutorial Project\Save_DataTable_CSV.csv"); //
}
Public Shared Function getData() As DataTable
Dim connString As String = "server=DESKTOP-NIP3TOE\SQLEXPRESS; Database=Test_DB; Integrated Security=True;"
Dim query As String = "select * from STUDENT_DATA"
Try
Dim conn As New SqlConnection(connString)
Dim cmd As New SqlCommand(query, conn)
conn.Open()
' create data adapter
Dim da As New SqlDataAdapter(cmd)
' this will query your database and return the result to your datatable
Dim dt As New DataTable()
da.Fill(dt)
da.Dispose()
Return dt
Catch e1 As Exception
Throw
End Try
End Function
Shared Sub Main(ByVal args() As String)
Dim table As DataTable = getData()
Dim wb As WorkBook = WorkBook.Create(ExcelFileFormat.XLS)
wb.Metadata.Author = "JOHN"
Dim ws As WorkSheet = wb.DefaultWorkSheet
Dim rowCount As Integer = 1
For Each row As DataRow In table.Rows
ws ("A" & (rowCount)).Value = row (0).ToString()
ws ("B" & (rowCount)).Value = row (1).ToString()
ws ("C" & (rowCount)).Value = row (2).ToString()
ws ("D" & (rowCount)).Value = row (3).ToString()
ws ("E" & (rowCount)).Value = row (4).ToString()
rowCount += 1
Next row
wb.SaveAsCsv("D:\Tutorial Project\Save_DataTable_CSV.csv")
End Sub
$vbLabelText $csharpLabel
Explication du code
La méthode getData() récupérera les données d'une base de données SQL Server, comme nous l'avons vu précédemment.
Le fichier CSV généré par ce programme est le suivant :
**Le fichier de sortie CSV
Il est clair que le fichier CSV est généré correctement et qu'il correspond aux données fournies.
Résumé
Cet article a montré comment créer un fichier CSV en C# à partir d'un ensemble de données. La bibliothèque peut égalementlire des fichiers CSV à l'aide de C#. L'ensemble des données provenant d'une base de données SQL Server est rempli et créé un fichier CSV en trois étapes :
Obtenir des données du serveur SQL.
Introduire des données dans un tableau de données.
Créez un fichier CSV à partir de ce tableau de données.
Il est très facile de créer un fichier CSV dans .NET 7 à l'aide d'IronXL, comme démontré ci-dessus. La performance du programme est exceptionnelle car il est écrit en .NET 7 avec IronXL. IronXL offre d'autres fonctions utiles telles que la création, la lecture et la manipulation de fichiers Excel. Pour plus d'informations, veuillez consulter le sitedocumentation officielle.
La version gratuite d'IronXL est utilisée à des fins de développement. Pour déployer une application en production, veuillez obtenir unessai gratuit ou une versionlicence commerciale. IronXL fait partie deIron Suitequi se compose de cinq bibliothèques :
Jordi maîtrise parfaitement Python, C# et C++. Lorsqu'il ne met pas à profit ses compétences chez Iron Software, il se consacre à la programmation de jeux. Partageant des responsabilités en matière de tests de produits, de développement de produits et de recherche, Jordi apporte une valeur ajoutée considérable à l'amélioration continue des produits. Cette expérience variée le stimule et l'engage, et il dit que c'est l'un des aspects qu'il préfère dans son travail chez Iron Software. Jordi a grandi à Miami, en Floride, et a étudié l'informatique et les statistiques à l'université de Floride.
< PRÉCÉDENT Comment importer un fichier Excel en C#
SUIVANT > Comment écrire dans un fichier Excel en VB.NET
Des millions d'ingénieurs dans le monde entier lui font confiance
Réservez une démo en direct gratuite
Réservez une démonstration personnelle de 30 minutes.
Pas de contrat, pas de détails de carte, pas d'engagements.
Voici ce à quoi vous pouvez vous attendre :
Une démonstration en direct de notre produit et de ses principales fonctionnalités
Obtenez des recommandations de fonctionnalités spécifiques au projet
Toutes vos questions trouvent réponse pour vous assurer de disposer de toutes les informations dont vous avez besoin. (Aucune obligation de votre part.)
CHOISIR L'HEURE
VOS INFORMATIONS
Réservez votre gratuit Démonstration en direct
Fiable par plus de 2 millions d'ingénieurs dans le monde entier