El problema que tengo es que el adaptador de datos está mirando solamente la primera fila en cada columna para determinar el tipo de datos. En mi caso, la primera columna "SKU" es números para las primeras 500 filas, entonces tengo SKU, que son números mixtos y letras. Entonces, lo que termina sucediendo es que las filas en la columna SKU se dejan en blanco, pero todavía obtengo la otra información para cada fila de columna.Ayuda con una cadena de conexión OleDB para archivos de Excel
Creo que es la cadena de conexión que controla eso y con mi configuración actual debería funcionar, pero no es así.
Cadena de conexión:
conn.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Nick\Desktop\Pricing2.xlsx" + @";Extended Properties=""Excel 12.0 Xml;HDR=Yes;IMEX=1;ImportMixedTypes=Text;TypeGuessRows=0""";
ImportMixedTypes=Text;TypeGuessRows=0
En caso de ser las palabras claves importantes, mira a 0 filas y sólo tiene que utilizar el texto como los tipos de valor para todo.
El "bandaid" que puse en esto es hacer que la primera fila en la hoja de cálculo sea una mezcla de letras y números y específicamente dejar esa fila en mi consulta.
¿Has probado diferentes proveedores, como JET en lugar de ACE? Eche un vistazo aquí para ver otros posibles formatos de cadenas de conexión: http://www.connectionstrings.com/excel – goric
Ya he estado en ese sitio y he intentado todo. Ojalá hubiera una mejor manera de hacer esto. Si quieren diseñar el sistema para tomar una cadena larga, necesitan liberar un generador gratis. Ugh ... –
@theprise JET seguirá teniendo el mismo problema, ya que los valores que se deben modificar están todos en el registro y no se pueden establecer desde la cadena de conexión. – arcain