Accueil > > > LIRE UN FICHIER EXCEL PAR OLEDB EN .NET
LIRE UN FICHIER EXCEL PAR OLEDB EN .NET
Information sur la source
Description
Suite à une contrainte lors de mes développements, j'ai développé cette méthode. En effet, je devais lire un fichier excel sur un serveur (appliWeb) mais je ne pouvais pas installer les assembly "office". Après des recherches sur le Web, j'ai trouvé pas mal d'exemple me montrant comment faire. Donc j'en profite pour vous le montrer à tous
Source
- /// <summary>
- /// Permet de charger le contenue d'une feuille excel dans une DataTable à partir du chemin et le nom de la feuille désirée
- /// </summary>
- /// <param name="strcheminFichier">Chemin du fichier Excel</param>
- /// <param name="strNomFeuilleExcel">Nom de la feuille excel</param>
- /// <returns>DataTable contenant l'ensemble des celulles et lignes du fichier Excel. Si la feuille est vide le retour est égal à "Null"</returns>
- /// <remarks>Aucune gestion d'exception n'est faite à l'intérieur de cette méthode</remarks>
- public DataTable GetfichierFeuilleFichierExcel(string strCheminFichier, string strNomFeuilleExcel)
- {
- // Chaine de connexion
- string strCnx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strCheminFichier + ";Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34 + ";";
- System.Data.DataTable dtRetour = null;
- System.Data.OleDb.OleDbConnection oCnx = new System.Data.OleDb.OleDbConnection(strCnx);
- System.Data.OleDb.OleDbCommand objCmdSelect = null;
- System.Data.OleDb.OleDbDataAdapter objAdapter = null;
- System.Data.DataSet oDs = new DataSet();
-
- // vérification globale des données entrantes
- if(strCheminFichier != string.Empty && strNomFeuilleExcel != string.Empty)
- {
- if(System.IO.File.Exists(strCheminFichier))
- {
- // ouvertur de la connexion
- oCnx.Open();
- // création de la commande
- objCmdSelect =new System.Data.OleDb.OleDbCommand("SELECT * FROM ["+ strNomFeuilleExcel +"$]", oCnx);
- objAdapter = new System.Data.OleDb.OleDbDataAdapter();
- // on informe de l'instruction SELECT
- objAdapter.SelectCommand = objCmdSelect;
- // on execute la requete en spécifiant le protocole et on remplit le DataSet
- objAdapter.Fill(oDs, "XLData");
- // Vérification du dataset
- if(oDs != null && oDs.Tables != null && oDs.Tables.Count > 0)
- {
- dtRetour = oDs.Tables[0];
- }
- else
- {
- dtRetour = null;
- }
-
-
- // Libération
- oCnx.Close();
- objCmdSelect.Dispose();
- objAdapter.Dispose();
- }
- }
- return dtRetour;
- }
/// <summary>
/// Permet de charger le contenue d'une feuille excel dans une DataTable à partir du chemin et le nom de la feuille désirée
/// </summary>
/// <param name="strcheminFichier">Chemin du fichier Excel</param>
/// <param name="strNomFeuilleExcel">Nom de la feuille excel</param>
/// <returns>DataTable contenant l'ensemble des celulles et lignes du fichier Excel. Si la feuille est vide le retour est égal à "Null"</returns>
/// <remarks>Aucune gestion d'exception n'est faite à l'intérieur de cette méthode</remarks>
public DataTable GetfichierFeuilleFichierExcel(string strCheminFichier, string strNomFeuilleExcel)
{
// Chaine de connexion
string strCnx = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strCheminFichier + ";Extended Properties=" + (char)34 + "Excel 8.0;HDR=Yes;" + (char)34 + ";";
System.Data.DataTable dtRetour = null;
System.Data.OleDb.OleDbConnection oCnx = new System.Data.OleDb.OleDbConnection(strCnx);
System.Data.OleDb.OleDbCommand objCmdSelect = null;
System.Data.OleDb.OleDbDataAdapter objAdapter = null;
System.Data.DataSet oDs = new DataSet();
// vérification globale des données entrantes
if(strCheminFichier != string.Empty && strNomFeuilleExcel != string.Empty)
{
if(System.IO.File.Exists(strCheminFichier))
{
// ouvertur de la connexion
oCnx.Open();
// création de la commande
objCmdSelect =new System.Data.OleDb.OleDbCommand("SELECT * FROM ["+ strNomFeuilleExcel +"$]", oCnx);
objAdapter = new System.Data.OleDb.OleDbDataAdapter();
// on informe de l'instruction SELECT
objAdapter.SelectCommand = objCmdSelect;
// on execute la requete en spécifiant le protocole et on remplit le DataSet
objAdapter.Fill(oDs, "XLData");
// Vérification du dataset
if(oDs != null && oDs.Tables != null && oDs.Tables.Count > 0)
{
dtRetour = oDs.Tables[0];
}
else
{
dtRetour = null;
}
// Libération
oCnx.Close();
objCmdSelect.Dispose();
objAdapter.Dispose();
}
}
return dtRetour;
}
Conclusion
Logiquement il n'y a rien à importer au niveau des références car cela utilise le framework de base lors d'un développement WebForm
Historique
- 05 juillet 2007 12:07:38 :
- Changement du rand Débutant vers initié
Sources de la même categorie
Commentaires et avis
Discussions en rapport avec ce code source dans le forum
Problème connexion base de données ACCESS [ par adomarle ]
Bonjour,Je cherche à me connecter à ma base de données ACCESS, de cette manière : protected void Ses
Excel OleDb Connection issue [ par Mikels ]
Bonjour,Peut être quelqu'un pourra me renseigner sur une erreur que je rencontre lors d'une tentative de connection vers un fichier excel.Le but est c
Ouverture d'un fichier Excel depuis une page web [ par hasen ]
Bonjour, bonjour!Je viens une fois de plus vous voir pour vous demander des indices, pistes ou meme solutions pour le problème que je rencontre.Donc j
automation excel et application web [ par nesrine82 ]
Bonjour j'ai un probleme :je developpe une application web(intranet) sous visual studio 2005 c# (j'ai travailler sur une app windows prsqu la meme
Liaison VBA - Excel [ par jenaye83 ]
Bonjour tout le monde,J'ai développe une application en C#. Dans l'une des classes, j'ai renseigne les fonctions de register/unregister qui permettent
Lister toutes les feuilles d'un classeur Excel [ par achleuhi ]
Bonjour tous le monde,Je cherche un moyen de lister toutes les feuilles d'un classeur Excel, je ne connais pas le noms des feuilles à l'avance je suis
Access Read/Write d'un Btimap OLEDB [ par little_fof ]
problème contrainte AllowDBNull/provider Oledb [ par solons ]
Bonjour, Je cherche à pouvoir fabriquer un script générant une base SQL serveur identique à une base de départ qui doit pouvoir être de plusieurs form
Comment ouvrir/modifier/ecrire dans un fichier EXcel c#.net WINFORM [ par vinzemuls ]
Bonjour,après pas mal de recherches, j'ai réussi à trouver comment lire un fichier EXCEL. or je ne trouve pas le moyen d'écrire à la suite du fichier
C# .NET 1.1 EXCEL Selection d'une cellule par son identifiant (Alias) [ par achleuhi ]
Bonjour, j'essaie de récupérer le numéro de la ligne et de la colonne d'une cellule qui a un alias ou un identifiant le document Excel a différent ali
|
Derniers Blogs
UNE JOLIE-HORLOGE ET PAS QU'UN PEU !UNE JOLIE-HORLOGE ET PAS QU'UN PEU ! par neodante
Pour les possesseurs d'iPhone, ça y est Bijin Tokei - qui se traduit littéralement en Français par " Jolie Horloge " - est arrivé et GRATUITEMENT s'il vous plaît ! Après la version Tokyo, Hokkaido, night club, racing, Gal, "pour les mademoiselles'", . voi...
Cliquez pour lire la suite de l'article par neodante TECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICESTECHDAYS PARIS 2010 : CONNECTEZ VOS DONNéES à SHAREPOINT 2010 AVEC LES BUSINESS CONNECTIVITY SERVICES par ROMELARD Fabrice
Animé par: Gaetan Bouveret et Julien Chomarat Business Connectivity Services (BCS) est dans SharePoint 2010 la version 2 de Business Data Catalog (BDC dans SharePoint 2007). Il s'agit de la solution permettant de visualiser des données provenan...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE[DIVERS] SUIVRE VOS SéRIES PRéFéRéS SUR LA TOILE par orion
Comme de nombreux geek, je suis un grand amateur de série TV et je rate régulièrement des épisodes de mes séries préférés. Une solution s'offre à vous avec ce merveilleux site : Tv Gorge - www.tvgorge.com Moteur de recherche à l'appui, vous pouvez ...
Cliquez pour lire la suite de l'article par orion TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010TECHDAYS PARIS 2010 : LA BI DANS SHAREPOINT 2010 par ROMELARD Fabrice
Animé par: Vincent Bellet et Baptiste Giraudier La BI dans SharePoint 2010, Les nouveaux services d'application dans SP2010 et SQL Server Reporting services 2008 R2. La BI dans SharePoint est généralisée pour tous afin de permettre à tous les coll...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Logiciels
DB-MAIN (9.1.0)DB-MAIN (9.1.0)DB-MAIN is a data-modeling and data-architecture tool. It is designed to help developers and anal... Cliquez pour télécharger DB-MAIN Xilisoft DPG Convertisseur (5.1.37.0120)XILISOFT DPG CONVERTISSEUR (5.1.37.0120)Xilisoft DPG Convertisseur offre aux fans de Nintendo DS une bonne solution leur permettant de dé... Cliquez pour télécharger Xilisoft DPG Convertisseur GraphicsGale (2.01.01)GRAPHICSGALE (2.01.01)GraphicsGale est un logiciel de PixelArt avec de nombreuse fonctionnalités permettant de réalisé ... Cliquez pour télécharger GraphicsGale Architecte 3D (Platinum 2010)ARCHITECTE 3D (PLATINUM 2010)Architecte 3D Platinium vous permet de concevoir facilement les plans votre future maison, de l'é... Cliquez pour télécharger Architecte 3D TeamViewer 5 (TeamViewer 5)TEAMVIEWER 5 (TEAMVIEWER 5)Dépanner un ami,expliquer une manipulation devient un jeu d'enfant.
Prise en main d'un autre ord... Cliquez pour télécharger TeamViewer 5
|