La Lecture Excel Mélangés Type De Données, Sans Modifier La Clé De Registre

Je suis en train d'utiliser le C# pour lire le fichier excel qui a entremêlé de type de données. Ci-dessous est ma chaîne de connexion

var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");

De recherche m'a appris que le Extended Properties dans la chaîne de connexion est censé être

Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text

Cependant, j'ai été informé que, dans la chaîne de connexion, le TypeGuessRows=0 n'a pas de sens que la valeur sera prises directement à partir du Registre. J'ai donc besoin de modifier manuellement la clé et retirer ce bien de la chaîne de connexion.

Le particulier de la clé de registre qui a été impliqué est:

Chemin:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel

Clés:

TypeGuessRows

Valeur d'origine = 8, afin de le faire fonctionner changer = 0

Sans cela, l' IMEX ne fonctionne pas même difficile je ajouter TypeGuessRows=0 dans le Extended Properties.

Cependant, mon entreprise interdit de modifier la valeur de registre (strictement). On m'a dit de trouver des alternatives en faisant cela.

En bref:

Est-il un moyen de lire mélangés type de données excel fichier sans avoir à modifier aucune clé de registre (qui est une pratique relativement courante)?

Autre sujet:

Avez-vous vécu cela avant? Existe-il des possibilités que nous pouvons mettre en TypeGuessRows=0 de la chaîne de connexion, sans avoir à modifier la clé de registre (l'annulation de ma condition).

Si les choses ne fonctionnent pas avec OleDb:

Sont il des alternatives à côté de OleDb?

J'apprécie tout conseil ou suggestion.

Ce qui concerne

OriginalL'auteur rofans91 | 2012-03-30