Estoy tratando de utilizar C# para leer el archivo que ha entremezclado tipo de datos de Excel. A continuación es mi cadena de conexiónlectura Excel entremezclados Tipo de datos sin modificar la clave del registro
var path = //xls location
var MyConnection = new OleDbConnection("provider=Microsoft.Jet.OLEDB.4.0; Data Source='" + path + "';Extended Properties='Excel 8.0;IMEX=1;'");
Investigación me enseñó que la completa Extended Properties
en la cadena de conexión se supone que es
Excel 8.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text
Sin embargo, me informaron de que en la cadena de conexión, el TypeGuessRows=0
tiene no significa ya que el valor será tomado directamente del Registro. Por lo tanto, necesito modificar la clave manualmente y eliminar esta propiedad de la cadena de conexión.
La clave de registro particular que estuvo involucrado es:
Path:
HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Jet \ 4.0 \ Engines \ Excel
Clave:
TypeGuessRows
valor original = , con el fin de hacer que funcione el cambio en =
Sin hacer esto el IMEX
no funcionará incluso duro que añadir TypeGuessRows=0
en el Extended Properties
.
Sin embargo, mi compañía prohíbe la modificación de valor de registro (en sentido estricto). Me dijeron que encontrara alternativas para hacer esto.
En resumen:
¿Hay una manera de lectura tipo de datos entremezclados sobresalir archivo sin tener que modificar cualquier clave de registro (que es una práctica bastante común)?
Además tema:
¿Ha experimentado esto antes? ¿Hay posibilidades de que podamos establecer TypeGuessRows=0
solo en la cadena de conexión sin tener que modificar la clave de registro (cancelando mi premisa anterior).
Si las cosas no salen con OleDb
:
¿Hay alternativas al lado OleDb
?
Agradezco cualquier consejo o sugerencia.
Saludos
¡Gran descubrimiento! ¡Gracias! – Bronek