CSVをExcelに変換する方法(文字化け・先頭ゼロ・文字コードの注意点)
CSVを.xlsxへ変換する手順を実例付きで解説。日本語の文字化け、00123の先頭ゼロ、長い番号や日付の自動変換を避ける方法と、文字列保存後の計算時の注意を紹介します。
商品コード・郵便番号・管理番号をそのまま渡したい場合は、CSVを開く前に「文字コード」と「列の型」を決めます。日本語の文字化けを防ぐ設定だけでは、先頭ゼロや長い番号は保護できません。
CSVを開くことと.xlsx変換の違い
CSVは区切り文字で値を並べたテキストで、セルのデータ型や表示書式を指定しません。Excelで開くと、内容から数値や日付だと判断されることがあります。一方、.xlsxはセルごとに文字列型などを保持できるブック形式です。
- 確認・集計しながら使うなら、Excelの取り込み機能で文字コードと列の型を指定します。
- コード類を文字列のまま他の人へ渡したいなら、文字列型で保存する.xlsxへの変換が選択肢になります。
- 取込先がCSV指定なら、無理に.xlsxへ変えず、CSVの文字コード・区切り・読み込み方法を合わせます。
日本語だけが崩れる場合はCSVの文字化けを直す方法で入力文字コードを先に確認してください。拡張子を書き換えるだけでは、ファイル形式は変わりません。
文字列として残したいデータの具体例
次は架空の商品データです。商品コードと管理番号は計算する数値ではなく、桁を保ちたい識別子です。
商品コード,管理番号,受付日,金額
00123,123456789012345678,2026-11-05,1200
00456,234567890123456789,2026-11-06,250| 元の値 | 自動変換時の懸念 | 文字列型.xlsxの場合 |
|---|---|---|
| 00123 | 数値123になり先頭ゼロが消える | 00123の文字を保持 |
| 123456789012345678 | 数値扱いで丸め・指数表示が起きる可能性 | 18桁を文字列として保持 |
| 2026-11-05 | 日付と認識され形式が変わる可能性 | ハイフンを含む文字列を保持 |
| 1200 | 数値として計算できる | 文字列なので計算時は対象列を変換 |
Excelの数値精度や自動変換についてはMicrosoftの先頭ゼロ・大きい数値の説明が参考になります。表示だけが指数表記なのか、元の値自体が変わったのかも区別してください。
DataTools JPで変換する手順
CSV → Excel変換ツールは全セルを文字列型にして.xlsxを生成します。ブラウザ内で処理し、ファイルをサーバーへアップロードしません。
- 変換前のCSVをコピーして保存し、ツールでファイルを選択します。上限は20MBです。
- 「入力文字コード」でUTF-8またはShift_JISを選びます。自動判定も使えますが、日本語が正しいことを確認してください。
- 「CSVの区切り文字」でカンマ・タブ等を指定します。先頭行が列名なら「先頭行をヘッダーとして扱う」をONにします。
- 「プレビューを更新」を押し、商品コード00123、日本語、列の対応を確認します。先頭20行を表示し、画面は30列・1セル200文字までです。
- 「Excelをダウンロード」を押し、生成された.xlsxをExcelで開きます。元CSVと識別子や行数を照合して共有します。
このツールには.xlsx出力の文字コード選択はありません。UTF-8・Shift_JISの指定は入力CSVを正しく読むためのものです。CSVを別の文字コードにして渡す場合は文字コード変換ツールを使います。
例のCSVをこの方法で変換すると、商品コード・管理番号・受付日だけでなく金額1200も文字列になります。引用符をCSVの値に付けるだけでは型指定にならないため、文字列型で保存する点が重要です。
Excelで文字列として取り込む手順
金額は数値、商品コードは文字列というように列ごとに使い分けたい場合は、Excel側の取り込みも便利です。主にデスクトップ版Excelの手順で、OS・バージョンにより項目名や対応状況は異なります。
- 空のブックを開き、「データ」→「テキストまたはCSVから」(または「データの取得」→「ファイルから」)で元CSVを指定します。
- 元のファイルの文字コードと区切り文字を合わせ、日本語と列の位置を確認します。
- 利用できる場合はデータ型検出を「検出しない」にして文字列から始めます。または「データの変換」を開き、自動追加された型変更のステップを確認・削除して、変換前の値から設定し直します。
- 商品コード・管理番号など保持する列を「テキスト」に指定します。必要なら金額だけ数値、日付だけ目的に合う型にします。
- プレビューで00123と長い番号が元の桁のままか確認し、「閉じて読み込む」等で取り込みます。
Power QueryはCSVから型を自動推定するため、Text/CSVコネクターの型検出設定とデータ型の説明を確認してください。すでに数値化されて丸められた値を後からテキストに変えても、失われた桁は戻りません。元CSVから取り込み直すことが必要です。
変換後の確認と計算時の注意
原本と照合する
識別子の先頭ゼロ、長い番号、日本語の記号、空セル、行数を確認します。先頭のプレビューだけでなく、必要に応じて後半も確認してください。元CSVにすでに欠落・置換があれば、この変換で復元することはできません。
計算する列だけを変換する
文字列として保存された金額列は、そのままだと集計で期待どおり扱われないことがあります。Excelの「数値に変換」等で金額列だけを数値化し、集計結果を確認します。コード列まで一括変換しないでください。数値変換はセルの表示形式を変更するだけでは済まない場合があります。
数式候補とファイル形式に注意する
DataTools JPは入力の「=1+1」等も文字列セルとして格納し、数式は作成しません。ただし、後から編集や形式変換をすると別のソフトで再解釈される可能性があります。外部データを計算式として貼り付けないでください。CSVへ戻す場合はExcel → CSV変換の警告も確認します。
CSVに元から罫線・色・複数シートの情報はありません。今回の変換はそれらを復元する機能ではなく、値を文字列型のブックにするものです。
うまくいかないときの確認表
| 状況 | 確認・対処 |
|---|---|
| 日本語が文字化け | 作成元の文字コードを確認し入力設定を変更。保存済みの文字化けなら原本を再取得 |
| 列数が一致しない | 区切り文字、引用符、セル内のカンマや改行を確認 |
| 元CSVの時点で123になっている | 作成元から正しいコードを再出力。変換だけで桁数は推定しない |
| 大きいファイルで停止 | 20MB・200万セルの上限と端末メモリを確認。行を分けて処理 |
| 長すぎるセルで停止 | 1セル32,767文字の上限。元データを分割して確認 |
参考資料
Excelの自動変換と取り込み操作はMicrosoftの資料、文字列型での保存・制限はDataTools JPの実装と照合しました。
よくある質問
拡張子を.csvから.xlsxに変えれば変換できますか?
できません。CSVはテキスト、.xlsxはブック形式であり、中身の構造が異なります。変換ツールやExcelの保存操作で実際の形式を変えてください。
CSVの値を二重引用符で囲めば先頭ゼロは残りますか?
引用符は区切り文字や改行を含む値を表すためのもので、Excelに文字列型を指定するものではありません。文字列として取り込む設定か、文字列型の.xlsxへの変換が必要です。
すでに123になった商品コードを00123に戻せますか?
元データにゼロが残っていれば取り込み直せます。保存済みの値から元の桁数は判別できないため、元CSVやシステムの仕様を確認してください。表示書式でゼロを付けることと、元の値を復元することは別です。
数式のような値は実行されますか?
DataTools JPのCSV → Excel変換は全セルを文字列として保存し、数式オブジェクトを作りません。=1+1も文字列です。ただし、後からセルを編集・数値化したり別形式に出力したりする場合は、取込先での解釈を再確認してください。