J'ai utiliser cette fonction pour lire les informations du fichier xls (2003)

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
 
                  var connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0; data source={0}; Extended Properties=Excel 8.0;", path);
 
                var adapter = new OleDbDataAdapter("SELECT * FROM [page1$]", connectionString);
                var ds = new DataSet();
                adapter.Fill(ds, "anyNameHere");
 
                var data = ds.Tables["anyNameHere"].AsEnumerable();
 
                List<client> query = data.Where(x => x.Field<string>(1) != string.Empty).Select(x =>
                            new client
                            {
                                Code = x.Field<string>(1) != null ? x.Field<string>(1) : "None",
                                name = x.Field<string>(2),
                            }
quelque code dans le fichier ont INT comme format exp : "2100" et d'autres comme "G200", mais le Field(1) a été lues comme double ! et il ne peut pas lire le deuxième type (erreur de cast)! J'ai pris un coup d'oeil au fichier xls et la colonne de type standard, même je le rendre de type texte, mais j'ai le même problème

PS: j'ai utilisé, étape par étape et j'ai constaté que data a le code pour pour le deuxième type NULL!

Merci