Bonjour à tous.

J'expose un peu la situation de mon appli :
-J'ouvre un fichier excel qui remplis un datatable qui rempli un datagridview .
-Je rajoute une colonne avec des images.
-Je manipule.
-Je veux enregistrer mon datagridview sous form excel.
-J'ai besoin d'enlever la colonne image que je ne veux pas dans mon excel.
-Je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
DataGridView pourExport = new DataGridView();
pourExport = DGView;
pourExport.Columns[pourExport.Columns.Count - 1].Dispose();
-Je créé mon fichier excel dans lequel je veux enregistrer.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
FileInfo monFileCorrige = new FileInfo(nameXls.Substring(0, nameXls.Length - 4) + @"_Modifie.xls");
            FileStream monST;
            if (monFileCorrige.Exists)
            {
                monFileCorrige.Delete();
            }
            monST = monFileCorrige.Create();
            monST.Close();
puis j'essaye d'enregistrer en utilisant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
EcrireTableOleDb(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + monFileCorrige.FullName + "; Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\";",dt);
Puis j'utilise un code trouvé ici :

http://www.developpez.net/forums/d69...dataset-oledb/

Le problème c'est que ça me génère l'erreur :
"La table externe n'est pas dans le format attendu"
J'ai pensé que la génération du fichier excel sous 2007 entrainait d'autres propriétés.

Mais si j'essaye cela par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source="+ monFileCorrige.FullName +";Extended Properties=\"Excel 12.0 Xml;HDR=YES\";
En donnant à mon fichier l'extension xlsx ou xls l'erreur est la même.

En espérant des pistes ou des solutions.
Merci.