Problème de lecture d'un document Excel avec OleDB
leozechocolat
Messages postés2Date d'inscriptionmardi 5 avril 2011StatutMembreDernière intervention 6 avril 2011
-
5 avril 2011 à 21:10
leozechocolat
Messages postés2Date d'inscriptionmardi 5 avril 2011StatutMembreDernière intervention 6 avril 2011
-
6 avril 2011 à 09:09
Bonjour,
Dans un programme que je développe actuellement pour une association sportive, je rencontre un problème.
En effet, je dois lire différents fichiers Excel (xls) respectant +- le même format. Typiquement, ce sont des document listant les membres de l'association et leur classement.
J'ai décidé d'utiliser OleDB pour faire cela. après avoir ouvert mon fichier, je récupère donc une "sheet", pour cela, il faut que je fasse une requète OleDB:
OleDbDataAdapter myCommand = new OleDbDataAdapter(" SELECT * FROM [" + listname + "$]", con);
Cela fonctionne..; mais seulement dans certains cas. En effet, listname contient le nom de la sheet que j'ai préalablement placé dans une comboBox comme ceci:
DataTable myDataTable = new DataTable();
myDataTable = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
con.Close();
cb_Categ.Items.Clear();
for (int i = 0; i < myDataTable.Rows.Count; i++)
{
DataRow dr = myDataTable.Rows[i];
String tabname = dr["TABLE_NAME"].ToString();
String cat = dr.ItemArray[2].ToString();
String[] catTmp = cat.Split('$');
cb_Categ.Items.Add(catTmp[0]);
cb_Categ.Items.Add(tabname);
}
cb_Categ.SelectedIndex = 0;
pour ensuite récupérer ce fameux nom de la sheet au moment voulu: