DB のデータをダンプしたいといった場合、よくあるパターンだとそのまま csv に吐き出すみたいなことがありますが、電話番号や郵便番号の場合に、先頭の 0 が Excel で開いた場合に表示上消される場合があります。
その解決方法についてメモを残します。
やりたいこと
解決方法
値を ="" で囲んで出力する
C# などの言語では、モデルをから csv に変換してくれるライブラリがあるので、モデルに渡すタイミングで囲んであげましょう
下のような感じ
var tel = "00011112222"; var model = new CsvObj { Id = 1, Tel = $"=\"{tel}"", Addr = "東京都千代田区1-1" };
因みに Excel で 0 落ちを防ぐためによくある最初に ' を付けてあげるパターンは、自分の環境(Version 1908 (Build 11929.203838)) では、うまく動作しませんでした。(Excel で手動で ' を入力した場合は、動作しましたが、出力したものを直接読み込んでもうまく動作しませんでした。)
まとめ
よくあるパターンなので覚えておくと良いかと思います。