Lire directement des fichiers Excel en C # en utilisant OLEDB
De nombreuses applications C # nécessitent la capacité de lire les données à partir de fichiers Excel. Plusieurs bibliothèques simplifient ce processus, offrant un accès direct aux données Excel. La bibliothèque OLEDB est un choix de source ouverte populaire.
Voici comment utiliser OLEDB pour lire les données à partir d'un fichier Excel:
<code class="language-csharp">string fileName = Path.Combine(Directory.GetCurrentDirectory(), "fileNameHere.xlsx"); //Improved path handling string connectionString = $"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={fileName};Extended Properties=\"Excel 12.0 Xml;HDR=YES;IMEX=1;\""; //Updated for newer Excel versions using (OleDbConnection connection = new OleDbConnection(connectionString)) { connection.Open(); OleDbDataAdapter adapter = new OleDbDataAdapter($"SELECT * FROM [{worksheetNameHere}$]", connection); DataSet ds = new DataSet(); adapter.Fill(ds, "dataTable"); DataTable data = ds.Tables["dataTable"]; foreach (DataRow row in data.Rows) { string cellValue = row["columnName"].ToString(); //Process cellValue } // Accessing data directly as strings: string cellValueDirect = data.Rows[0].Field<string>("columnName"); //Process cellValueDirect }</code>
Ce code amélioré établit une connexion, sélectionne les données dans la feuille de calcul spécifiée et la stocke dans une données. Les cellules individuelles sont accessibles via des coordonnées ou des noms de colonne. L'instruction using
garantit un nettoyage approprié des ressources. La chaîne de connexion est mise à jour pour prendre en charge les versions Excel plus récentes (xlsx) et comprend HDR=YES
et IMEX=1
pour une meilleure gestion des en-têtes et des types de données.
L'exemple itère à travers les lignes et montre comment récupérer les valeurs des cellules en tant que chaînes en utilisant à la fois ToString()
et Field<string>()
. OLEDB fournit une méthode simple pour l'importation de données Excel dans vos applications C # pour l'analyse et la manipulation.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!