Bonjour,

Je suis dans la lecture d'un fichier excel depuis C#

"L'objet n'est ni un ADODB.RecordSet, ni un ADODB.Record.\r\nNom du paramètre*: adodb"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
            DataTable dtexcel = new DataTable();
            string conn = string.Empty;
            if (filePath.CompareTo(".xls") == 0)
                conn = @"provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Extended Properties='Excel 8.0;HRD=Yes;IMEX=1';"; //for below excel 2007  
            else
                conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath + ";Extended Properties='Excel 12.0;HDR=NO';"; //for above excel 2007  
            OleDbConnection objconn = new OleDbConnection(conn);
            objconn.Open();
            DataTable dtExcelSchema;
            dtExcelSchema = objconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
            //objconn.Close();
            try
            {
 
            OleDbDataAdapter da = new OleDbDataAdapter("select * from [" + SheetName + "]", objconn);
            da.Fill(xlsFile, da);
                // Initialize an OleDbDataAdapter object.
                //OleDbDataAdapter da = new OleDbDataAdapter("select * from [" + SheetName + "]", objconn);
            }
            catch (Exception e)
            {
                Logger.Write("Erreur lors de l'éxécution : \n " + e.Message);
                Console.WriteLine("Error: {0}" + e.Message);
            }
 
            return xlsFile;
Je me suis inspiré de cet échange : https://www.developpez.net/forums/d1...-excel-csharp/

J'ai la version 32 bits installé Excel sur le poste.

Merci de vos retours.