Importer des données brutes d'un fichier Excel [Résolu]

strycore 2 Messages postés vendredi 11 juin 2004Date d'inscription 5 mars 2008 Dernière intervention - 5 mars 2008 à 11:21 - Dernière réponse : cs_cfs 2 Messages postés samedi 19 mars 2005Date d'inscription 5 mars 2008 Dernière intervention
- 5 mars 2008 à 15:46
Bonjour,
J'ai réussi a effectuer des imports de feuilles excels via ADO.net mais maintenant plusieurs problèmes se posent :
-La première ligne de la feuille excel est utilisée pour attribuer des noms de colonnes , je ne souhaite pas que cela soit le cas, la première ligne doit être considérée comme une ligne de données similaire aux autres
- Les données sont typées : si une colonne contient des valeurs numériques puis des valeurs texte ces dernières sont ignorées (elles ne sont pas affichées dans mon GridView) . Les données que je souhaite importer sont hétérogènes, et je souhaiterais qu'elles soient toutes traitées avec un type String pour ensuite valider les données et effectuer les conversions de type par moi même.

Voici le code utilisé pour importer le fichier Excel :

        string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/dev/IRI/grandvolumes2.xls;Extended Properties=Excel 8.0;";
        OleDbConnection objConn = new OleDbConnection(connectionString);
        objConn.Open();
        OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [exemple$]", objConn);
        OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
        objAdapter1.SelectCommand = objCmdSelect;
        DataSet objDataset1 = new DataSet();
        objAdapter1.Fill(objDataset1);
        objConn.Close();
        GridView1.DataSource = objDataset1.Tables[0];
        GridView1.DataBind();

Merci d'avance pour votre aide
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
strycore 2 Messages postés vendredi 11 juin 2004Date d'inscription 5 mars 2008 Dernière intervention - 5 mars 2008 à 13:31
3
Merci
Bon j'ai trouvé , il faut changer la chaine de connection de ceci :

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/dev/IRI/grandvolumes2.xls;Extended Properties=Excel 8.0;"

vers ceci :


"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:/dev/IRI/grandvolumes2.xls;Extended Properties='Excel 8.0;HDR=No;IMEX=1'"


Donc :
-Rajouter des simples quotes pour pouvoir mettre plusieurs arguments a la valeur Extented Properties
-HDR=No pour dire que la première ligne contient des données
-IMEX=1 pour dire que les données sont de type hétérogène.

J'ai déjoué la fourberie

Merci strycore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Commenter la réponse de strycore
cs_cfs 2 Messages postés samedi 19 mars 2005Date d'inscription 5 mars 2008 Dernière intervention - 5 mars 2008 à 15:46
0
Merci
Merci beaucoup.
J'étais justement en pleine recherche sur ce sujet.
Je viens d'économiser quelques heures grâce à ce post
Commenter la réponse de cs_cfs

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.