前提
【目的】
Excelで作られたフォーマットに商品データの一覧を作成し
そのExcelファイルをcsvファイルに変換して
そのcsvファイルを某システムに読み込ませたい。
(もとのExcelファイルの書式設定は全て「標準」)
【問題】
JANコード(13桁の整数)を入力してある列に問題発生!
・Excelファイル(書式設定=標準)の状態だと→「〇.〇〇〇〇〇E+12」と表示される
↓
・ExcelファイルのJANの数値が入っているセルのみ、書式設定を「標準→数値」にすると→13桁の整数が正常に表示される。
↓
・そのExcelファイルをcsvファイルに変換すると→書式設定が「標準」になり「〇.〇〇〇〇〇E+12」と表示される
なぜ「標準」に戻ってしまうのだろうか?
csvのJAN列を数値の状態にするにはどうしたら良いのか?
結論
結論を先に書いておきます。
書式設定「標準」("〇.〇〇〇〇〇E+12"と表示)のままシステムにアップすればOK!
仮定1
csvにした後、JANの列名が入っている1行目の書式設定も「数値」にしてみたら良いのではないか?
(現在は 標準 になっている)
仮定1検証
(csvファイル)
1.JAN列の書式設定を「数値」にする
↓
2.上書き保存&「×」でcsvファイルを閉じる
↓
3.再度同csvファイルを開く
また「標準」に戻ってしまった・・・。
違う方法を考える。
仮定2
「書式設定の変更」以外の方法があるのではないか?
仮定2検証
私と似たような状況の方がした質問に、こんな回答が付いていました。
上記記事から得た情報:
・書式情報を持たないのが csvファイル
・csvファイルの該当列について、「データ」→「区切り位置」→列のデータ形式を「文字列」にすればOK
やってみます。
1.JANの列をまるっと選択
↓
2.「データ」タブをクリック→「区切り位置」をクリック
↓
3.区切り位置指定ウィザードが立ち上がる→「次へ」
↓
「次へ」
↓
列のデータ形式のチェックを「G/標準」から「文字列」に変更→「完了」
↓
(リボン中の書式の欄は「標準」と表示されている)
↓
「上書き保存」→csvファイルを閉じる→再度開く
↓
やはり「標準(〇.〇〇〇〇〇E+12)」に戻ってしまった。
仮定3 & 結論
文字化けしたままでシステムにアップしても良いのではないか?
→「標準」の文字化け(?)した状態(〇.〇〇〇〇〇E+12 と表示されている状態)のcsvファイルを
そのままシステムにアップロードしたところ、システムのJANの欄には問題なくJANが表示された。
csvの状態で各セルの中が文字化けしていても、セルをクリックすると数式バーには正しい13桁の数字が表示されてる。ということは、見かけが「〇.〇〇〇〇〇E+12」となっているだけで、システムにとって必要な13桁の数字の情報はきちんと入っているということだよね。
次回からは文字化けは気にせずに、そのままアップロードしよう!