VCでCSVファイル(カンマ区切り)を出力するプログラムを作成しています。
しかし、「2003121211567289122」のような数字のみの長い文字列を項目として入れたとき、作成されたファイルをExcelで開いたところ、「200003423E+22」というような浮動小数点のような形で表示されてしまいます。
純粋に文字列として認識してほしいのですが、よい方法はありますか。
これは VC++ というより Excel の使い方の問題のような気がします(^^;
すでにご存知かもしれませんが、念のため「セルの書式設定」→「表示形式」→「数値」という方法(Excel2000で確認)を提示しておきます。
もし Excel に、特定の書式で書かれた数値を最初から Ul'yanov さんが期待されている形式で表示する機能があるとしても(わたしは Excel に詳しくないのであるともないとも言えません)、それは Excel が CSV ファイル読込時にどう処理するかという問題になり、どちらにしろ VC++ は関係ないと思われます。
つまりここよりも、Excel 関連のサイトや掲示板、もしかすると Excel のヘルプなどの方が解決への近道になるのではないかと思います。
ダブルクオート"で囲む。
あとは,Excel側で書式設定すれば表示は変えられるはず。
ありがとうございました。
Excel側の問題でした。申し訳ありませんでした。
CSVの場合、書式を保存しておくことができないので、
「200311121112345」のような長い数字の文字列などの場合は、
頭に「'」などの数字やマイナス以外の文字を入れるようにします。