注文書係

受注CSVが「ファイルの内容が不正です」で取込エラーになる — 改行コード(CRLF/LF)の不一致という盲点

公開:

FAX注文書から起こした受注データのCSVを基幹システムに取り込もうとしたら、「ファイルの内容が不正です」「読み込みに失敗しました」というエラーだけが出て、文字コードも列数も日付形式も確認したのに原因がわからない——という場面に遭遇したことはないでしょうか。テキストエディタで開くと見た目は普通のCSVに見えるのに、取込だけが失敗する場合、疑うべきは**ファイル全体の改行コード(CRLF/LF)**です。

この記事では、改行コードの不一致がCSV取込エラーの原因になる仕組みと、テキストエディタでの確認・変換手順を整理します。

改行コードとは何か

改行コードは、ファイルの中で「ここで1行が終わる」ことを示す見えない制御文字です。主に次の2種類があり、OSやアプリケーションによって既定値が異なります。

  • CRLF(\r\n): Windows・Excel・メモ帳などでよく使われる
  • LF(\n): Mac・Linux・クラウドサービスの多くで使われる

CSVファイルを画面で見ている限り、改行コードがCRLFかLFかの違いは目に見えません。どちらも「改行して次の行に移る」ように表示されるため、テキストエディタで開いて内容を確認しても、一見して正常なCSVに見えてしまいます。

なぜ取込エラーになるのか

基幹システムや受発注サービスのCSV取込機能は、あらかじめ「この改行コードで区切られている」という前提でファイルを1行ずつ読み込んでいます。ファイル側の改行コードがその前提と食い違うと、行の区切りを正しく認識できません。

具体的には次のような症状が起こりえます。

  • 改行コードが期待と異なるため、ファイル全体が1行として扱われ、正しく分割されない
  • 「ファイルの内容が不正です」のような、原因を特定しにくいエラーメッセージだけが表示される
  • 文字コード・列数・日付形式をひとつずつ確認しても、どこにも間違いが見つからない

kintone公式ヘルプでは、CSVファイルを読み込むと「ファイルの内容が不正です。」と表示されるケースの原因の一つとして、改行コードの扱いを挙げています。CO-NECT公式ヘルプでも、出力データの改行コードをLFまたはCRLFから選択できる設定が用意されており、取込先によって適した改行コードが異なることを前提とした作りになっています。

症状から原因を切り分ける

症状疑う原因
テキストエディタで開くと正常に見えるのに取込だけ失敗する改行コードがCRLF/LFのどちらかで、取込先の想定と食い違っている
「ファイルの内容が不正です」など、原因の特定しにくいエラーが出る文字コード・列数・日付形式に問題がなければ改行コードを疑う
データ全体、あるいは大部分が1行にまとまって取り込まれる改行コードが認識されず、行の区切りとして機能していない

改行コードを確認・変換する方法

改行コードの確認・変換には、Windowsの「メモ帳」で十分対応できます。

  1. 対象のCSVファイルをメモ帳で開く
  2. 「名前を付けて保存」を選び、保存ダイアログの中で改行コード(CRLFまたはLF)を指定できる場合はそこで切り替える
  3. 対応していない場合は、サクラエディタやVS Codeのような、改行コードの種類を明示的に表示・変換できるテキストエディタを使う

VS Codeであれば、画面右下に現在の改行コード(CRLFまたはLF)が表示され、クリックすることで変換できます。取込先のシステムがどちらの改行コードを想定しているかは、公式マニュアルやヘルプで確認するか、いったん少量のデータで試して結果を見るのが確実です。

Excelで保存する場合の注意

Excelで作業したデータを「CSV(コンマ区切り)」形式で保存すると、多くの場合Windows標準のCRLFで保存されます。一方で、クラウドサービスからエクスポートしたCSVや、Mac・Linux環境で作成されたCSVはLFになっていることがあります。

複数の経路で作られたCSVファイルを結合・加工する場合、ファイルごとに改行コードが異なっていることに気づかないまま作業を進めてしまうことがあります。取込エラーの原因が改行コードだと判明したら、以後は取込先に合わせた改行コードで統一して出力する運用にしておくと、同じ事故を繰り返さずに済みます。

商品名や住所に含まれるカンマ・改行(セル内改行)によって列がずれる話は受注データのCSVで列がずれる — クォーティングの基礎で扱っています。こちらは1つの値の中の改行の話で、今回のファイル全体の行区切りの話とは別の論点です。文字コードの不一致による文字化けの基本は基幹システムへのCSV取込でよくあるエラーと対処法を参照してください。

まとめ

  1. 改行コードはCRLF(Windows系)とLF(Mac・クラウド系)の2種類があり、画面上の見た目では区別がつかない
  2. 取込先が想定する改行コードとファイルの改行コードが食い違うと、行の区切りを正しく認識できず取込エラーになる
  3. 文字コード・列数・日付形式を確認しても原因が見つからない場合は、改行コードを疑う
  4. サクラエディタやVS Codeなど、改行コードを表示・変換できるテキストエディタで確認・統一するのが確実

手前味噌の紹介

この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。FAX・手書きの注文書をアップロードするとAIが下書きを作り、担当者は自信のない項目だけを確認して確定します。転記にかかる時間を1/10程度に圧縮することを狙ったサービスです。

CSV出力は取込先の基幹システムに合わせた形式で行えるため、改行コードの不一致で取込エラーに悩まされる心配はありません。

無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際にお使いの帳票との相性を確かめてみてください。

よくある質問

Q. 受注データのCSVを取り込むと「ファイルの内容が不正です」と表示されるのはなぜですか?
文字コード・列数・日付形式に問題がない場合、ファイル全体の改行コード(CRLFかLFか)が取込先の想定と食い違っている可能性があります。基幹システムはあらかじめ決まった改行コードでファイルを1行ずつ読み込む前提のため、食い違うと行の区切りを正しく認識できません。
Q. CRLFとLFの違いは画面上で見分けられますか?
見分けられません。CRLF(Windows系)もLF(Mac・クラウド系)も、テキストエディタで開くとどちらも通常の改行として表示されるため、見た目だけでは判断できません。改行コードの種類を表示できる専用のテキストエディタ(サクラエディタ・VS Code等)で確認する必要があります。
Q. 改行コードはどうやって確認・変換すればいいですか?
VS Codeであれば画面右下に現在の改行コードが表示され、クリックすることでCRLFとLFを切り替えられます。メモ帳でも「名前を付けて保存」のダイアログで改行コードを指定できる場合があります。取込先が想定する改行コードは公式マニュアルで確認するか、少量のデータで試して結果を確認するのが確実です。
Q. Excelで保存したCSVとクラウドサービスから出力したCSVを結合すると問題が起きますか?
起きる可能性があります。Excelで保存したCSVは多くの場合Windows標準のCRLFになりますが、クラウドサービスやMac・Linux環境で作成されたCSVはLFになっていることがあります。複数の経路で作られたファイルを結合・加工する際は、改行コードが混在していないか確認しておくと事故を防げます。

← コラム一覧へ戻る