Comment ADO.NET peut-il être forcé de déduire le type de colonnes Excel comme Chaîne plutôt que Double?

J'ai une colonne dans un file excel qui contient à la fois des strings et des numbers. J'ai trouvé par essai et erreur que ADO.NET infère le type de colonne en fonction du type de cellules des 8 premières lignes. Lorsque cela se produit, toutes les strings sous la colonne ne sont simplement pas ajoutées à DataTable.

Mon objective est d'avoir ADO.NET lire les valeurs sous cette colonne sous forme de strings.

Comment cela peut-il être fait?

ajoutez imex = 1 à votre string de connection similaire à:

ssortingng sConnectionSsortingng = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + savePath + "; Extended Properties=" + (char)34 + "Excel 8.0;IMEX=1;" + (char)34; 

Le paramètre IMEX (1 est le mode d'input) force le type de données de la colonne vers le text afin que les valeurs alphanumériques soient traitées correctement.