2008-08-22 20 views

Respuesta

6

Creo que tiene que establecer la opción en su cadena de conexión para forzar la importación textual en lugar de autodetección.

Provider=Microsoft.ACE.OLEDB.12.0; 
    Data Source=c:\path\to\myfile.xlsx; 
    Extended Properties=\"Excel 12.0 Xml;IMEX=1\"; 

Su kilometraje puede variar según la versión que tenga instalada. La propiedad extendida IMEX = 1 le dice a Excel que trate los datos entremezclados como texto.

1

prefijo con '

1

prefijar el contenido de la celda con' fuerzas de Excel para ver como texto en lugar de un número. El 'no se mostrará en Excel.

0

Creo que la manera de hacerlo sería formatear el archivo de Excel fuente de manera que la columna tenga el formato de Texto en lugar de General. Seleccione la columna completa y haga clic con el botón derecho y seleccione celdas de formato, seleccione texto de la lista de opciones.

Creo que definiría explícitamente que el contenido de la columna es texto y debería tratarse como tal.

Avísame si eso funciona.

0

Guardar el archivo como un archivo de texto delimitado por tabulaciones también ha funcionado bien.

--- antiguo Desafortunadamente, no podemos confiar en que las columnas del documento de Excel permanezcan en un formato particular ya que los usuarios pegarán datos en él regularmente. No quiero que la aplicación se cuelgue si confiamos en cierto tipo de datos para una columna.

prefijar con 'funcionaría, ¿hay una manera razonable de hacerlo programáticamente una vez que los datos ya existan en el documento de Excel?

1

Hay un corte del registro que puede forzar Excel para leer más de las 8 primeras filas al leer una columna para determinar el tipo:

Cambio

HKLM\Software\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 

Para ser 0 para leer todas las filas, u otro número para establecerlo en ese número de filas.

No es que esto tenga un pequeño golpe de rendimiento.

0

al enviar el valor 00022556 como '=" 00022556"' del servidor SQL es una excelente manera de manejar cero problema

0

Añadir "\ t" antes de su cadena. Hará que la cadena parezca en una nueva pestaña.

Cuestiones relacionadas