Pregunta Excel CSV - Formato de celda numérica


Yo produzco un informe como un archivo CSV. Cuando trato de abrir el archivo en Excel, hace una suposición sobre el tipo de datos basado en el contenido de la celda, y lo reformatea en consecuencia.

Por ejemplo, si el archivo CSV contiene

...,005,...

Entonces Excel lo muestra como 5. ¿Hay alguna manera de anular esto y mostrar 005?

Preferiría hacer algo con el archivo, para que el usuario simplemente haga doble clic en el archivo CSV para abrirlo.

Yo uso Excel 2003.


76
2017-09-26 02:07


origen


Respuestas:


No hay una manera fácil de controlar el formato que Excel aplica al abrir un archivo .csv. Sin embargo, se enumeran a continuación tres enfoques que pueden ser útiles.

Mi preferencia es la primera opción.

Opción 1 - Cambiar los datos en el archivo

Puede cambiar los datos en el archivo .csv de la siguiente manera ...,= "005", ... Esto se mostrará en Excel como ...,005, ...

Excel habrá conservado los datos como una fórmula, pero copiar la columna y usar valores especiales de pegado eliminará la fórmula, pero conservará el formato

opcion 2 - Formatea los datos

Si se trata simplemente de un problema de formato y todos sus datos en esa columna tienen una longitud de tres dígitos. A continuación, abra los datos en Excel y luego formatee la columna que contiene los datos con este formato personalizado 000

Opción 3 - Cambie la extensión de archivo a .dif (formato de intercambio de datos)

Cambie la extensión de archivo y use el asistente de importación de archivos para controlar los formatos. Los archivos con extensión .dif se abren automáticamente con Excel al hacer doble clic en ellos.

Paso a paso:

  • Cambiar la extensión de archivo de .csv a .dif
  • Haga doble clic en el archivo para abrirlo en Excel.
  • Se lanzará el 'Asistente de importación de archivos'.
  • Establezca el 'Tipo de archivo' en 'Delimitado' y haga clic en el botón 'Siguiente'.
  • En Delimiters, marque 'Coma' y haga clic en el botón 'Siguiente'.
  • Haga clic en cada columna de sus datos que se muestran y seleccione un 'Formato de datos de columna'. La columna con el valor '005' debe formatearse como 'Texto'.
  • Haga clic en el botón de finalizar, Excel abrirá el archivo con los formatos que haya especificado.

108
2017-09-26 21:23



No use CSV, use SYLK.
http://en.wikipedia.org/wiki/SYmbolic_LinK_(SYLK)

Da mucho más control sobre el formato, y Excel no intentará adivinar el tipo de campo examinando el contenido. Parece un poco complicado, pero puede salirse con la suya usando un subconjunto muy pequeño.


27
2017-09-26 02:49



Esto funciona para Microsoft Office 2010, Excel Versión 14

Leí mal la preferencia del OP de "hacer algo con el archivo". Todavía mantengo esto para aquellos que quieren una solución para formatear la importación directamente

  1. Abra un archivo en blanco (nuevo) (Archivo -> Nuevo del libro de trabajo)
  2. Abra el Asistente de importación (Datos -> Desde texto)
  3. Seleccione su archivo .csv e Importe
  4. En el cuadro de diálogo, elija 'Delimitado' y haga clic en Siguiente.
  5. Elija sus delimitadores (desmarque todo menos 'coma'), elija sus calificadores de Texto (probablemente {Ninguno}), haga clic en Siguiente
  6. En el Vista previa de datos seleccione la columna que desea que sea el texto. Debe resaltar.
  7. En el Formato de datos de columna campo, seleccione 'Texto'.
  8. Haga clic en terminado.

14
2018-05-15 21:27



Simplemente puede formatear su rango como Texto.

también aquí es un buen artículo sobre los formatos numéricos y cómo puedes programarlos.


2
2017-09-26 02:10



De hecho, descubrí que, al menos comenzando con Office 2003, puede guardar una hoja de cálculo de Excel como un archivo XML. Por lo tanto, puedo producir un archivo XML y cuando hago doble clic en él, se abrirá en Excel. Proporciona el mismo nivel de control que SYLK, pero la sintaxis XML es más intuitiva.


2
2017-09-26 04:29



Agregar un espacio sin interrupciones en la celda podría ayudar. Por ejemplo: "firstvalue";"secondvalue";"005 ";"othervalue"

Obliga a Excel a tratarlo como un texto y el espacio no es visible. En Windows puede agregar un espacio sin interrupciones dando una señal alt + 0160. Vea aqui para mas informacion: http://en.wikipedia.org/wiki/Non-breaking_space

Intentó en Excel 2010. Espero que esto pueda ayudar a las personas que aún buscan una solución bastante adecuada para este problema.


2
2017-10-09 14:01



Tuve este problema al exportar datos CSV del código C #, y resolví esto anteponiendo los datos iniciales cero con el carácter \ t de la pestaña, por lo que los datos fueron interpretados como texto en lugar de numéricos en Excel (pero a diferencia de anteponer otros caracteres, no lo haría) se puede ver).

Me gustó el enfoque = "001", pero esto no permitirá que los datos CSV exportados se vuelvan a importar a mi aplicación C # sin eliminar todo este formato del archivo CSV de importación (en su lugar, simplemente recortaré los datos de importación) .


2
2018-01-24 11:20



Creo que al importar el archivo puede seleccionar el tipo de columna. Conviértalo en texto en lugar de en número. No tengo una copia frente a mí en este momento para comprobarlo.


1
2017-09-26 02:10