lecture de données excel en c#
Bonjour,
Je voulais obtenir et afficher des données excel dans un datagrid alors je me suis pris ainsi:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| //Afficher un OpenFileDialog permettant à l'utilisateur de choisir le fichier excel qu'il veut
OpenFileDialog openFileDialog1 = new OpenFileDialog();
openFileDialog1.Filter = "Tous les fichiers Excel|*.xlsx;*.xls";
openFileDialog1.Title = "Selectionner un fichier Excel";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
//on récuper le chemin d'acces complet au fichier
string filepath = openFileDialog1.FileName.ToString();
string chemin = @filepath;
//Créer une variable de chaine de connexion
string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"+
"Data Source="+ chemin +";"+
"Extended Properties=Excel 8.0;";
//Créer un objet de connexion à l'aide de la chaine de connexion précédente
OleDbConnection objconn = new OleDbConnection(sConnectionString);
//Ouvrir une connexion avec la base de données
objconn.Open();
//Créer uen nouvelle commande OleDb pour renvoyer les données de la feuille de calcul
OleDbCommand objCmdSelect = new OleDbCommand("Select * from maPlage1.Feuil1", objconn);
//Créer un nouvel adaptateur utilisé pour générer un dataset basé sur l'instruction sql précédente
OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
//passer la commande à la carte
objAdapter1.SelectCommand = objCmdSelect;
//créer un nouveau dataset
DataSet objDataSet1 = new DataSet();
//Remplir le dataset
objAdapter1.Fill(objDataSet1, "XLData");
//lier les données au controle datagrid
dataGrid1.DataSource = objDataSet1.Tables[0].DefaultView;
dataGrid1.SetDataBinding(objDataSet1, "XLData");
objconn.Close();
} |
mais après voir choisi le fichier voulu je reçois le message d'erreur suivant:
Citation:
Le moteur de base de données Microsoft Jet n'a pas pu trouver l'objet 'Feuil1'.
Assurez-vous que l'objet existe et que vous avez correctement saisi son nom et son chemin d'accès.
avez vous une idée d'où ça peut venir?
Merci d'avance