2012-01-06 30 views
9

mientras trabajaba en una exportación a Excel Descubrí el siguiente problema.Importar archivo de texto con saltos de línea en Excel

Si crea una tabla en la que una célula tiene un salto de línea y guardar el documento como un archivo txt que se verá así:

"firstLine<LF>secondLine"<TAB>"secondColoumn" 

Al abrir este archivo en Excel el salto de línea se ha ido y la primera fila tiene solo una celda con el valor firstLine

¿Sabe si es posible mantener los saltos de línea?

EDITAR: Se aplica a Excel2010. No sé si otras versiones se comportan de manera diferente.

Edit2: Pasos para reproducir:

  1. abierto en blanco hoja de Excel
  2. Introducir texto (primera columna con salto de línea, segunda Colum no es importante)
  3. Guardar como Unicode de texto (txt) // todos txt otros no funcionan archivo, así
  4. Cierre Excel
  5. Archivo-> Abrir
  6. no hay cambios en el próximo diálogo.

El archivo de Excel ahora tiene 2 filas, lo que es incorrecto.

+0

Estoy tratando de reproducir sus pasos. ¿Dónde estás creando la mesa? En Excel? ¿En qué tipo lo guardas como - Texto (tab delim), texto de MS-DOS, texto Unicode, algo más? ¿Cómo estás "abriendo" el archivo? Importándolo, arrastrando y soltando en Excel, o yendo a 'Archivo> Abrir'? – JimmyPena

+0

He agregado los pasos para usted. – T3rm1

+0

Y está presionando 'Alt + Enter' para obtener el salto de línea, ¿correcto? – JimmyPena

Respuesta

5

I finalmente fue capaz de resolver el problema! yay: D

CSV:

El alemán Excel necesita un punto y coma como separador. La coma no funciona.

Nota: Esto solo es válido cuando el archivo está codificado como UTF-8 con BOM al principio del archivo. Si está codificada en ASCII, la coma funciona como un delimitador.

TXT:

La codificación tiene que ser UTF-16LE. También debe estar delimitado por tabuladores.

Importante: Los archivos seguirán mostrándose incorrectos si los abre con el cuadro de diálogo "Archivo-> Abrir" y los "importa". Arrastrándolos a Excel o abriendo con doble clic funciona.

+0

Pero, hará que Excel descarte los ceros a la izquierda de las celdas que no contienen ningún carácter no numérico. –

1

No es un problema - en el sentido de comportamiento que se espera - esto es inherente al guardar el texto como Unicode o como Text (tab delimited)

Si guarda el archivo como Unicode y luego o bien

  1. abrirlo en el Bloc de notas
  2. importación en Excel

verá que las células con saltos de línea están rodeadas de ""

El siguiente ejemplo muestra dos saltos de línea

  • A1 tiene una entrada separada por medio de Alt + Enter
  • B1 tiene un Enry utilizando la fórmula CHAR(10) initial

El cuadro también muestra lo que el bloc de notas ve en un guardado Unicode versión

sugerido Solución 1- Método manual

  1. En Excel, elija Edición> Reemplazar
  2. Haga clic en el cuadro Buscar
  3. pulsando la tecla Alt, y (en el teclado numérico), tipo 0010 step 3
  4. Reemplazar con un doble delimitador tubo

    Step 4

  5. Guardar como Unicode
  6. Luego revertir el proceso cuando sea necesario para volver a insertar los saltos de línea

Esto se puede hacer fácilmente en VBA

solución sugerida 2 - VBA alternativa

Const strDelim = "||" 

Sub LBtoPIPE() 
ActiveSheet.UsedRange.Replace Chr(10), strDelim, xlPart 
ActiveSheet.UsedRange.Replace "CHAR(10)", strDelim, xlPart 
End Sub 

Sub PIPEtoLB() 
ActiveSheet.UsedRange.Replace strDelim, Chr(10), xlPart 
ActiveSheet.UsedRange.Replace strDelim, "CHAR(10)", xlPart 
End Sub 
+0

Gracias por su respuesta. Desafortunadamente no puedo trabajar con una solución alternativa. Esperaba que fuera un error de Excel o una configuración incorrecta en mi extremo. En mi opinión, este comportamiento es incorrecto. Si guardo un archivo con saltos de línea, deben estar todavía presentes al cargar:/ – T3rm1

+0

@ T3rm1 Sin problemas. Tengo curiosidad de por qué no puedes implementar la solución alternativa? – brettdj

+0

Ambos métodos requieren que el usuario haga algo donde normalmente piense que "debería funcionar". – T3rm1

Cuestiones relacionadas