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
[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7[WP7] UTILISER UN WRAPPANEL DANS UNE APPLICATION WINDOWS PHONE 7 par Audrey
Lors de la réalisation de ma 2ème application Windows Phone 7, j'ai souhaité utiliser un WrapPanel pour afficher plusieurs photos. Mais le contrôle WrapPanel ne fait pas parti de la liste des contrôles inclus dans le SDK de la version Beta des outils pour...
Cliquez pour lire la suite de l'article par Audrey [WP7] BESOIN D'AVOIR DES DONNéES EN CACHE[WP7] BESOIN D'AVOIR DES DONNéES EN CACHE par Nicolas
Les développeurs ASP.NET ont l'habitude de mettre des données en cache pour éviter de requêter a chaque fois la base de données. Et il est toujours utilie de penser que vos utilisateurs mobiles n'ont pas troujours une super connexion 3G/WIFI et un for...
Cliquez pour lire la suite de l'article par Nicolas [TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION[TFS] COMMENT FORCER LA SAISIE D'UN AREA OU ITERATION par cyril
Lorsque l'on créé un Work Item dans TFS, il est possible de le classer dans un "area" et dans une "iteration". Dans la plupart des types de projet, un "area" correspond à une catégorie, une "iteration" à un numéro de version. Il est possible de cré...
Cliquez pour lire la suite de l'article par cyril SQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULLSQL : FONCTIONS D'AGRéGATION MIN/MAX ET VALEURS NULL par coq
Les fonctions d'agrégation comme MIN et MAX ignorent les valeurs NULL présentes dans le jeu de données sur lequel porte leur calcul, d'où le fameux message d'avertissement : Warning: Null value is eliminated by an aggregate or other SET operation...
Cliquez pour lire la suite de l'article par coq VOTEZ POUR WARNYGOVOTEZ POUR WARNYGO par Nicolas
La vidéo du projet Warnygo est disponible sur facebook et attend vos votes ! Pour rappel: Warnygo est une application Windows Phone 7 qui permet d'alerter tous utilisateurs inscrits qui se trouve dans la zone où se passe l'...
Cliquez pour lire la suite de l'article par Nicolas
Logiciels
sDEVIS-FACTURES vlPRO (3.8.0)SDEVIS-FACTURES VLPRO (3.8.0)sDEVIS-FACTURES vlPRO a été mis au point pour permettre besoins des particuliers, créateurs, entr... Cliquez pour télécharger sDEVIS-FACTURES vlPRO LettresFaciles (5.6.0)LETTRESFACILES (5.6.0)LettresFaciles est un logiciel facilitant la création et la rédaction de lettres types.
Son inte... Cliquez pour télécharger LettresFaciles MyPlanning 2010 (5.6.0)MYPLANNING 2010 (5.6.0)MyPlanning 2010 permet de créer des plannings sous la représentation de diagrammes. Plannings pré... Cliquez pour télécharger MyPlanning 2010 Emicsoft Mac DVD en iPad Convertisseur (3.1.16)EMICSOFT MAC DVD EN IPAD CONVERTISSEUR (3.1.16)Emicsoft Mac DVD en iPad Convertisseur, logiciel professionnel de convertir les fichiers DVD en i... Cliquez pour télécharger Emicsoft Mac DVD en iPad Convertisseur Emicsoft ipad ménager pour mac (3.1.08)EMICSOFT IPAD MéNAGER POUR MAC (3.1.08)Emicsoft ipad ménager pour mac est spécialement conçu pour les utilisateurs Mac pour copier des f... Cliquez pour télécharger Emicsoft ipad ménager pour mac
|