- - PR -
CSV出力について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2005-12-02 15:31
CSV出力について
お世話になっております。 現在、CSVファイルを出力するプログラムを作成しているのですが、 CSVファイルを出力する事は出来たのですが、出力された値が変わってしまいます。 ちなみにTXTファイルに出力した場合は正しく出力されているのですが。 これはjava側の問題なのでしょうか?それともEXCELの問題でしょうか? コードを下記します。 何か他に良い方法がありましたら、ご教授ください。 宜しくお願い致します。 コード-------------------------------------------------------------- import java.io.*; class OutputFile { public static void main( String args[] ) { try { String str1 = "NUMBER,TITLE"; String str2 = "20041026164632010101,test"; PrintWriter pw = new PrintWriter( new BufferedWriter( new FileWriter( "output.csv" ) ) ); pw.println( str1 ); pw.println( str2 ); System.out.println( "ファイルに書き込みました。" ); pw.close(); } catch( IOException exp ) { System.out.println( "入出力エラーです。" ); } } } 結果(output.csv)---------------------------------------------------- NUMBER TITLE 20041026164632000000 test | ||||||||
|
投稿日時: 2005-12-02 15:39
excelの問題だと思います
メモ帳で開いてみて下さい | ||||||||
|
投稿日時: 2005-12-02 15:59
>明智重蔵様
ご回答ありがとうございます。 メモ帳では正しく出力されます。 しかし、CSVファイルに出力する事を要求されています。 他にCSVファイル出力方法のサンプル等をご存知でしたら ご教授願いたいのですが。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2005-12-02 16:13
EXCELの仕様かも。 他のユーザーでも困ってたみたいですね。 http://cgi.fuji.ne.jp/~fj2094/cgi-bin5/wwwlng.cgi?print+200504/05040016.txt とりあえず、ファイルの拡張子をxlsにしたら大丈夫でしたよ。 #15桁制限なんてあったのか・・・ 要求されているのは、 1)拡張子がCSV 2)項目は「,」で区切ること ですか? | ||||||||
|
投稿日時: 2005-12-02 16:21
こんにちは。
つまり、CSV形式でTXTファイルに出力ができているわけですね。なのに
と仰る意図がいまいち特定できませんが… excelでCSVファイルを開く際に起こる 「CSVファイルが自分の意図した通りにexcel上で表示されない」現象を 解決すればいいのでしょうか? それとも、ただ単にできたCSVをダブルクリックしたらEXCELが起動して、 そこでの表示がおかしいので混乱しているだけでしょうか? | ||||||||
|
投稿日時: 2005-12-02 16:30
NUMBERのフィールドを文字列にする("で囲む)
というのは仕様的に許されないのでしょうか Excelで取り扱う場合のCSVはExcel独自の形式で一般的なCSVでは無い といったほうが良いと思いますが | ||||||||
|
投稿日時: 2005-12-02 16:50
>宣伝中止!様 未記入様 Jun様
ご回答ありがとうございます。 >要求されているのは、 >1)拡張子がCSV >2)項目は「,」で区切ることですか? > 要求されている事としては、DBから条件に合ったレコードの一覧を CSVファイルに出力して欲しいという事です。 コード上値を「,」で区切っているのは、CSVファイルにセルごとに値が出力されるので この様な記述をしております。 >excelでCSVファイルを開く際に起こる >「CSVファイルが自分の意図した通りにexcel上で表示されない」現象を >解決すればいいのでしょうか? >それとも、ただ単にできたCSVをダブルクリックしたらEXCELが起動して、 >そこでの表示がおかしいので混乱しているだけでしょうか? > 前者です。 メモ帳に正しく出力されているというのは、記述したコードの ファイル名を「output.txt」に変更しただけです。 CSV形式でTXTファイルに出力出来ているかと言うと、微妙なところです。 >NUMBERのフィールドを文字列にする("で囲む) >というのは仕様的に許されないのでしょうか > 折角ご回答して頂いて申し訳ありませんが、 仕様的に厳しい状況です。 | ||||||||
|
投稿日時: 2005-12-02 17:02
? CSV形式って、確か、項目を「,」で区切るので、内容的にあっていると思いますが。 あとは、Excelで表示するときに16桁目以降が0になるから困ってるんですよね? データの内容確認でExcelを使うといっていますか? 内容の確認だけなら、Excelのデータの取り込みを利用するという方法しか、私には思いつかないですが・・・ _________________ #「やらない」と「出来ない」を混同してはならない |