Tengo una aplicación web que está exportando sus datos a un archivo CSV. Aquí hay una fila de ejemplo del archivo CSV en cuestión:
28,"65154",02/21/2013 00:00,"false","0316295","8316012,8315844","MALE"
Como no puedo publicar una imagen, tendré que explicar los resultados en Excel. El campo "0316295" se convierte en un número y el 0 inicial desaparece. El "8316012,8315844" se interpreta como un solo número: 83,160,128,315,844. Eso, obviamente, no es el resultado deseado.
He visto a personas recomendar una cita única líder para tales casos, pero eso tampoco funciona.
28,"65154",02/21/2013 00:00,"false","'0316295","'8316012,8315844","MALE"
La comilla simple es visible en todo momento en la celda en Excel, aunque si yo mismo ingreso un número con una comilla simple inicial, muestra solo la cadena deseada y no la comilla simple con la cadena.
Parece que importar no es lo mismo que escribir.
¿Alguien tiene una solución aquí?
fuente
Respuestas:
Esto debería funcionar
fuente
00E3
con 0 (0 * 10 ^ 3) y lo muestra como notación sci (0.00E + 00). Realmente hace lo mismo"00e3"
sin el=
. Pero="00e3"
funciona perfectamente. (abriendo un CSV con Excel 2010)Para mantener los ceros a la izquierda, puede establecer el formato de esa columna específica en Texto en el Asistente de importación de texto.
"
. Presiona Siguiente .Aquí es donde puede especificar los formatos . Haga clic en el encabezado de la columna cuyos ceros iniciales desea conservar. Seleccionar texto . (Ver imagen a continuación)
Presione Finalizar y luego seleccione una ubicación adecuada para sus datos. Resultado de muestra:
Editar : hay otra forma ; haga que la aplicación web exporte a un archivo .TXT delimitado por comas en lugar de .CSV (o simplemente cambie la extensión del archivo exportado después de guardarlo). Esto obliga a Excel a pasar por el asistente de importación cuando abren el archivo. Como ventaja adicional, reduce las posibilidades de que los usuarios modifiquen o alteren sus datos sin procesar originales.
fuente
.TXT
lugar de.CSV
(o simplemente cambie la extensión del archivo exportado). Este tipo de "obliga" a los usuarios a pasar por el asistente de importación cuando abren el archivo.Excel trata los valores numéricos que comienzan con un carácter de tabulación como texto.
Aparecerá como:
El | es el límite de la celda (con fines ilustrativos). Entonces, por ejemplo, si su sistema genera el archivo CSV usando el juego de caracteres utf-8, puede agregar el
	
(Tab Char en Hex) antes de su valor numérico para forzar a Excel a interpretarlo como texto.fuente
Excel detectará automáticamente el formato de un campo CSV a menos que la columna CSV tenga este formato:
Esto también funciona para las hojas de Google
fuente
Tendría que usar la funcionalidad "Datos -> Obtener datos externos -> Importar texto del archivo" en Excel para que se muestre como texto. Este es el asistente de importación de texto @Kaze mencionado.
La única forma de forzar a Excel a mostrar números como texto desde la entrada, sin que el usuario tenga que hacer nada, es generar un archivo de Excel y especificar un "formato de número personalizado". Recomiendo usar una biblioteca de exportación XLS para esto, ya que no parece tan simple como agregar una línea de texto de configuración en un archivo CSV.
fuente
pruebe la función de limpieza para valores que están en mal estado. Por ejemplo = clean ("12345678901234567890"). Me funciona para números, fechas, horas, etc. Advierto que, dado que este no es el propósito de esta función, podría dejar de funcionar con nuevas versiones, etc.
fuente