Al copiar una celda con saltos de línea en Excel y pegarla en el Bloc de notas, el texto se pega en una línea. ¿Porqué es eso?
microsoft-excel
notepad
linebreaks
Kyle Dixon
fuente
fuente
Respuestas:
Se debe a la naturaleza de cómo funcionan las hojas de cálculo. Imagine que tiene una hoja de cálculo llena de datos. Si tuviera que copiar una fila completa de datos y luego pegarla en el Bloc de notas, todos esos datos deben estar en una línea. Esto se debe a que si tuviera que copiar otra fila de datos y pegarla, la siguiente fila de datos debe estar en una línea. Si hubo saltos de línea en la primera fila que copió, los datos ya no estarían en dos filas lineales. Si tuviera que copiar los datos del Bloc de notas y volver a la hoja de cálculo, no se pegaría correctamente.
fuente
Alt+Enter
), solo se ingresa 0xA, no el 0xD 0xA completo, lo que significaLF
, en lugar deCR/LF
. Excel interpreta esto y muestra el salto de línea, mientras que el bloc de notas simple no lo hace, porque esperaCR/LF
. Es una diferencia en los formatos que se detectan más que un error, pero aún así, esa es la razón correcta.Esto es cierto cuando usa el Bloc de notas, que es el editor de texto básico de Microsoft que ya está preinstalado en Windows.
Sin embargo, puede usar un editor de texto más avanzado como PSPad o Notepad ++ (ambos excelentes y gratuitos), y puede transferir sus saltos de línea.
Excel :
Celda marcada, luego copiar y pegar en Notepad ++ :
Mismo contenido pegado en el Bloc de notas (el editor predeterminado de Windows):
Tenga en cuenta que en ambos casos, las comillas se agregaron automáticamente.
Los mejores editores también le dan la opción de mostrar los caracteres de control como LineFeed (LF) y CarriageReturn (CR). En Notepad ++ esto se ve así:
Como conclusión: elija su herramienta según sus necesidades. Si necesita que se conserven los límites de las celdas en el editor, pero el contenido de las celdas puede modificarse un poco, use el Bloc de notas. Si necesita que el contenido de la celda no se toque, incluidos los saltos de línea, y la reproducibilidad 1: 1 de los límites de la celda no es crucial, use otro editor.
Procesamiento masivo de dichos datos.
Si necesita que tanto los bordes de la celda como el contenido de la celda se conserven 1: 1 al mismo tiempo, puede tener problemas.
Puede haber soluciones más inteligentes, pero lo que hice en tales casos fue escribir un pequeño programa en cualquier lenguaje (VBA, Python o lo que más le guste) que lea el contenido y agregue cadenas de marcador de posición para los saltos de línea (algo tan simple como "### Linebreak ###", que luego puede ser reemplazado por caracteres de control CR y LF. Por supuesto, este es un trabajo complicado y solo tiene sentido si tiene que procesar grandes cantidades de datos.
Puede tener problemas también con las comillas que se agregan. A primera vista, esto puede ser útil para preservar los límites de las celdas incluso cuando se incluyen saltos de línea. Sin embargo, su celda puede tener comillas como parte del contenido original, y luego tiene nuevos problemas. Hay varias soluciones para esto, entonces, pero necesita su atención.
fuente
CR
LF
allí es en realidad porque ve elLF
y asume que se supone que está llenoCR
LF
y lo convierte.La respuesta de Keltari da el razonamiento lógico, mientras que esta respuesta se centra en la diferencia técnica.
Hay tres formas diferentes de saltos de línea en uso en informática:
LF
)CR
)CRLF
)Esta es una retención de la forma en que funcionan los escritores de texto.
Excel usa una combinación de estos saltos de línea para representar celdas con varias líneas:
Tab
personaje.CRLF
caracteres.LF
carácter.Esto se hace evidente cuando guarda su libro de trabajo como un
.txt
archivo y lo abre con un editor de texto que admite mostrar estos caracteres.El Bloc de notas solo procesa
CRLF
como nuevas líneas e ignoraLF
oCR
por sí mismos. Todavía están en el documento, pero no son visibles de ninguna manera.Nota: No verá esto al pegar de un lado a otro, porque Notepad ++ ajusta automáticamente las terminaciones de línea por usted, mientras que el Bloc de notas normal no lo hace.
fuente
LF
es en realidad todavía presente cuando se peguen en el bloc de notas, bloc de notas, simplemente no lo muestra visiblemente. (Representa efectivamente lo mismo que un espacio de ancho cero.) Por lo tanto, por qué copiar los datos pegados del bloc de notas en Excel incluye estos saltos de línea (aunque Excel no les cambia el tamaño automáticamente a las filas).CRLF
.="A"&CHAR(13)&CHAR(10)&"B"
. Los saltos de línea producidos por las fórmulas no son visibles en Excel, pero funcionan bien si se copian y luego se pegan mediante "pegar valores". Un valor pegado de escribir manualmente"A<CRLF>B"
en el bloc de notas y copiar también retendrá el CRLF.LF
EOL sean legibles rápidamente. es decir, busque unLF
carácter, seleccionarlo,Ctrl
+C
,Ctrl
+Home
,Ctrl
+F
,Ctrl
+V
,Enter
,Esc
,Enter
. Luego repetidamenteF3
,Enter
hasta el final. [Editar: <kbd> no funciona en los comentarios?]Excel usa LF para denotar nuevas líneas dentro de una celda. El Bloc de notas no considera que se trate de una nueva línea, ya que Windows en general usa CRLF para las nuevas líneas.
Notepad ++ es más inteligente que el Notepad relativamente simple y, por lo tanto, interpreta LF como una nueva línea también.
fuente
"
y Notepad ++ normalizará todas las terminaciones de línea para que coincidan. Ver aquí . Si en su lugar guarda como.txt
y se abre en Notepad ++, las celdas multilíneaLF
solo tendrán . Ver aquí .