ExcelやCSVで作ったデータを基幹システムに登録しようとして、「固定長テキスト(TXT)形式でアップロードしてください」と言われ、困ったことはありませんか?
・1項目ごとにスペースを入れて桁数を合わせるのが苦痛
・全角文字が入るとバイト数がズレてシステムエラーになる
・どこがズレているのか探すだけで日が暮れてしまう
実は、固定長データの作成は「文字数」ではなく「バイト数」で計算しなければならないため、手作業では限界がある作業なのです。
💡 なぜCSVから固定長への変換は難しいのか?
固定長データには「1項目めは20バイト、2項目めは10バイト」という厳密なルールがあります。
一番の厄介なポイントは「全角文字」の扱いです。
・半角文字(1文字 = 1バイト)
・全角文字(1文字 = 2バイト)
例えば「アイワークス」という5文字のカタカナを、10バイトの枠に入れようとすると、全角なら10バイトですが、半角なら5バイト分しか埋まりません。
足りない分を正確に「半角スペース」で埋めないと、後ろのデータがすべて1マスずつズレてしまい、システムが読み込めなくなります。
⚠️ 現場で起きやすいトラブル
特に次のようなシーンで、桁合わせのミスが発生しやすくなります。
・銀行振込用の全銀データ作成
・EDI(電子データ交換)システムへの商品登録
・古いオフコン系システムへのデータ移行
「見た目では合っているはずなのに、なぜかエラーが出る」という現象の多くは、この1バイトのズレが原因です。
🛠️ 対策方法
安全に固定長データを作るには、以下の方法が一般的です。
1⃣ Excel関数(LENB関数など)を駆使してスペースを結合する
2⃣ テキストエディタの矩形選択で強引に調整する
3⃣ プログラムで自動パディング(穴埋め)処理を行う
しかし、関数の設定をミスしたり、コピペで1文字削ってしまったりするリスクは常に付いて回ります。
そのため私は、Excel上のデータをボタン一つで「仕様書通りの固定長TXT」に書き出すツールを作成して活用しています。
・全角/半角を自動判別して正確に桁合わせ
・数値のゼロ埋め(パディング)対応
・複数シートのデータを一括でTXT出力
この仕組みを使えば、プレッシャーのかかる桁合わせ作業から解放され、一瞬で正確なデータを作成できます。
同じように、システムへのデータ登録作業で神経をすり減らしている方向けに、ココナラでオーダーメイドの書き出しツール作成をお受けしています。
「指定のレイアウトに合わせて、確実に動くツールが欲しい」という方は、ぜひこちらの窓口からお気軽にご相談ください。