Khi sao chép một ô có ngắt dòng trong Excel và dán nó vào Notepad, văn bản sẽ được dán vào một dòng. Tại sao vậy?
Khi sao chép một ô có ngắt dòng trong Excel và dán nó vào Notepad, văn bản sẽ được dán vào một dòng. Tại sao vậy?
Câu trả lời:
Đó là do bản chất của cách hoạt động của bảng tính. Hãy tưởng tượng bạn có một bảng tính đầy dữ liệu. Nếu bạn đã sao chép toàn bộ một hàng dữ liệu, sau đó dán nó vào Notepad, tất cả dữ liệu đó cần phải nằm trên một dòng. Điều này là do nếu bạn đã sao chép một hàng dữ liệu khác và dán nó, hàng dữ liệu tiếp theo cần phải nằm trên một dòng. Nếu có các ngắt dòng ở hàng đầu tiên bạn đã sao chép, dữ liệu sẽ không còn ở hai hàng tuyến tính nữa. Nếu bạn đã sao chép dữ liệu ra khỏi Notepad và quay lại bảng tính, nó sẽ không dán đúng cách.
Alt+Enter
), chỉ nhập 0xA, không phải 0xD 0xA đầy đủ, có nghĩa là LF
, thay vì CR/LF
. Excel diễn giải điều này và hiển thị ngắt dòng, trong khi notepad đơn giản thì không, bởi vì nó mong đợi CR/LF
. Đó là một sự khác biệt trong các định dạng được phát hiện nhiều hơn một lỗi, nhưng vẫn là lý do chính xác.
Điều này đúng khi bạn sử dụng Notepad, trình soạn thảo văn bản cơ bản của Microsoft đã được cài đặt sẵn trong Windows.
Tuy nhiên, bạn có thể sử dụng trình soạn thảo văn bản nâng cao hơn như PSPad hoặc Notepad ++ (cả xuất sắc và miễn phí) và bạn được chuyển dòng ngắt dòng.
Excel :
Ô được đánh dấu, sau đó sao chép-dán vào Notepad ++ :
Cùng một nội dung được dán vào Notepad (trình chỉnh sửa mặc định của Windows):
Lưu ý rằng trong cả hai trường hợp, dấu ngoặc kép được thêm tự động!
Các trình soạn thảo tốt hơn cung cấp cho bạn tùy chọn để hiển thị các ký tự điều khiển, chẳng hạn như LineFeed (LF) và CarriageReturn (CR). Trong Notepad ++, nó trông giống như:
Như một kết luận: chọn công cụ của bạn tùy thuộc vào nhu cầu của bạn. Nếu bạn cần các ranh giới ô được bảo tồn trong trình chỉnh sửa, nhưng nội dung ô có thể bị thay đổi một chút, hãy sử dụng Notepad. Nếu bạn cần nội dung ô không bị ảnh hưởng bao gồm ngắt dòng và tỷ lệ tái tạo 1: 1 của ranh giới ô là không quan trọng, hãy sử dụng trình chỉnh sửa khác.
Xử lý hàng loạt dữ liệu đó
Nếu bạn cần cả viền ô và nội dung ô được bảo tồn cùng lúc 1: 1, bạn có thể gặp sự cố.
Có thể có nhiều giải pháp thông minh hơn, nhưng những gì tôi đã làm trong những trường hợp như vậy là viết một chương trình nhỏ bằng bất kỳ ngôn ngữ nào (VBA, Python hoặc bất cứ thứ gì bạn thích nhất) để đọc nội dung và thêm chuỗi giữ chỗ cho ngắt dòng (một cách đơn giản như "### Linebreak ###", sau này có thể được thay thế lại bằng các ký tự điều khiển CR và LF. Tất nhiên, đây là công việc khó khăn sau đó và chỉ có ý nghĩa nếu bạn phải xử lý một lượng lớn dữ liệu.
Bạn cũng có thể gặp vấn đề với dấu ngoặc kép được thêm vào. Những cái nhìn đầu tiên có thể hữu ích để duy trì ranh giới của tế bào ngay cả khi ngắt dòng được bao gồm. Tuy nhiên, ô của bạn có thể có dấu ngoặc kép là một phần của nội dung gốc và sau đó bạn gặp vấn đề mới. Có nhiều giải pháp cho vấn đề này, sau đó, nhưng nó cần sự chú ý của bạn.
CR
LF
thực sự có bởi vì nó nhìn thấy LF
và cho rằng nó được coi là đầy đủ CR
LF
và chuyển đổi nó.
Câu trả lời của Keltari đưa ra lý luận hợp lý, trong khi câu trả lời này tập trung vào sự khác biệt kỹ thuật.
Có ba hình thức ngắt dòng khác nhau được sử dụng trong điện toán:
LF
)CR
)CRLF
)Đây là một nắm giữ từ cách mà các nhà văn loại làm việc.
Excel sử dụng kết hợp các ngắt dòng này để biểu diễn các ô có nhiều dòng:
Tab
nhân vật.CRLF
ký tự.LF
ký tự.Điều này trở nên rõ ràng khi bạn lưu sổ làm việc của bạn dưới dạng .txt
tệp và mở nó bằng trình soạn thảo văn bản hỗ trợ hiển thị các ký tự này.
Notepad chỉ xử lý CRLF
dưới dạng dòng mới và bỏ qua LF
hoặc CR
tự chúng. Họ vẫn còn trong tài liệu, nhưng không thể nhìn thấy bằng bất kỳ cách nào.
Lưu ý: Bạn sẽ không thấy điều này khi dán qua lại, vì Notepad ++ sẽ tự động điều chỉnh các kết thúc dòng cho bạn, trong khi Notepad thông thường thì không.
LF
là thực sự vẫn còn hiện diện khi dán vào notepad, notepad đơn giản là không hiển thị nó rõ ràng. .
CRLF
.
="A"&CHAR(13)&CHAR(10)&"B"
. Các ngắt dòng được tạo bởi các công thức không hiển thị trong excel, nhưng hoạt động tốt nếu được sao chép và sau đó dán qua "giá trị dán". Một giá trị được dán từ nhập thủ công "A<CRLF>B"
vào notepad và sao chép cũng sẽ giữ lại CRLF.
LF
EOL có thể đọc được nhanh chóng. tức Tìm một LF
nhân vật, chọn nó, Ctrl
+ C
, Ctrl
+ Home
, Ctrl
+ F
, Ctrl
+ V
, Enter
, Esc
, Enter
. Sau đó lặp đi lặp lại F3
, Enter
cho đến khi kết thúc. [Chỉnh sửa: <kbd> không hoạt động trong nhận xét?]
Excel sử dụng LF để biểu thị các dòng mới trong một ô. Notepad không coi đây là một dòng mới vì Windows nói chung sử dụng CRLF cho các dòng mới.
Notepad ++ thông minh hơn Notepad tương đối đơn giản và do đó cũng diễn giải LF như một dòng mới.
"
và Notepad ++ sẽ chuẩn hóa tất cả các kết thúc dòng để khớp. Xem tại đây . Thay vào đó, nếu bạn lưu dưới dạng .txt
và mở trong Notepad ++, các ô đa dòng sẽ LF
chỉ có. Xem tại đây .