事象
次のようなテキストファイルがあるとします。
このテキストを全選択し、Excelにコピー&ペーストしたところ、途中までしかExcelにコピーされませんでした。
原因
原因はNULL文字です。Rubyを利用して、文字の中身をインスペクションしてみましょう。
$ cat input.txt | ruby -n -e 'p $_'
"ABC DEF\u0000GHI"
DEFとGHIの間にあるのは一見すると、単なる空白に見えますが、実際はNULL文字でした。そのため、ExcelはDEFで文字列が終了していると判定し、それ以降を切り捨ててしまったのです。
対応方法としてはいろいろ考えられますが、今回はNULL文字をコピペ可能な文字に置換することで対応しました。