• 締切済み

ファイルへの出力

例えば、以下のようなプログラムがあります。 public class rei{ public static void main(String args[]){ for(int i=0;i<100;i++){ System.out.println(i); } } } ここで、iの値をエクセルファイルに出力することはできるのでしょうか?できれば具体的に教えてください。よろしくお願いします。

  • Java
  • 回答数2
  • ありがとう数1

みんなの回答

  • osumitan
  • ベストアンサー率33% (102/307)
回答No.2

本物のExcelブック(xlsファイル)に出力したいのであれば No.1の方が示されたPOIを使うのがいいと思いますが、 単純にExcelで読み込めればよい、ということであれば CSVファイルを作って読ませるのが簡単でしょう。 それなら、テキストファイルの出力と同じやり方でできます。 ------------------------------------------------------ import java.io.FileWriter; import java.io.PrintWriter; import java.io.IOException; public class rei {   public static void main(String args[]) {     try {       PrintWriter pw = new PrintWriter(new FileWriter("rei.csv"));       for(int i = 0 ; i < 100 ; i++) {         pw.println(i);       }       pw.close();     }     catch(IOException e) {       e.printStackTrace();     }   } }

tornader
質問者

お礼

せっかく教えていただいたのですが、できませんでした。。。

  • sanaqa
  • ベストアンサー率30% (13/42)
回答No.1

こんばんわ。 確かjavaでエクセルに書き出しするには jakarta POIが必要です。 ここにPOIについてのってます。 http://jakarta.terra-intl.com/poi/overview.html 具体的には使ったことないんでわかんないです。 ごめんなさい。 「jakarta POI」をキーワードに検索してみるといいですよ。

関連するQ&A

  • 昇進者です。 戻り値の学習をしていますが。

    *を10個表示するプログラムですが。 public class Graph1 { public static void main(String[] args) { printGraph(10); } public static void PrintGraph(int x) for(int i = 0; i < x; i++){ System.out.println("*"); } System.out.println(""); } } のprintGraph(10);は何のためにあるのですか? 10がxに代入されていますよね。戻り値はxですか。

  • 参照・値渡しについて

    下記プログラム(ソース1)を実行すると「1」という値が出力されます。しかし、2行目をprivate static int a;とすると「0」という値が出力されます。 オブジェクトは参照渡しで基本データ型は値渡しと思ったのですが、2行目の値をString型で行ったところ全く変更されていない値が出力されました。(ソース2) 一体どういうことでしょうか? 回答のほどよろしくお願い致します。 (ソース1) public class X{ private static int a[] = new int[1]; public static void main(String []args){ modify(a); System.out.println(a[0]); } public static void modify(int a[]){ a[0]++; } } (ソース2) public class X{ static String a = "a"; public static void main(String []args){ modify(a); System.out.println(a); } public static void modify(String a){ a = "b"; } }

    • ベストアンサー
    • Java
  • for文の実行結果について

    public class Trace2 { public static void main (String[] args) { int i; int num; num = 1; for (i = 0; i < 10; i++) { num += num; } System.out.println("iの値は" + i); System.out.println("numの値は" + num); } } 実行結果は iの値は10 numの値は1024になります。 何故こうなるのですか?

    • ベストアンサー
    • Java
  • #の表記

    ########## ######### ######## ####### ###### ##### #### ### ## # を表記するプログラムを組みたいんですが public class Test { public static void main(String[] args) { int i; String x = ""; for( i=10; i>0; i--){ x=x+"#"; System.out.print(x); System.out.println(); } } } これだと上下がさかさまになってしまうんです。どこを直したらよいのでしょうか。お願いします。

    • ベストアンサー
    • Java
  • javaのプログラムについて

    java始めたばかりの者です。 class sample1 { public static void main(String[] args) { for(int i=1; i<=5; i++){ for(int j=0; j<i; j++){ System.out.println("*"); } System.out.println("\n"); } } } これを実行すると * * * * * * * * * * * * * * * こうなってしまい * ** *** **** ***** このようにするにはどうしたらいいのでしょうか??

    • ベストアンサー
    • Java
  • java 初心者ですが・・・・

    教えてください。 次のプログラムの出力は「2」になるんですがイマイチ解釈できません。 分かりやすい説明などあればご教授願います。 class NarrowingConversion{ public static void main (String[] args){ byte b; int i = 258; b = (byte)i; System.out.println(b); } } よろしくお願いいたします。

    • ベストアンサー
    • Java
  • 【Java】数字の判定、Stringへの型変換

    コマンドライン引数を渡して(桁数は様々)、 渡ってきた値が数字のみの場合は値をそのまま出力、 数字のみでなければ1文字ずつ縦に出力するプログラムを作りたいです。 Exceptionを発生させたり正規表現で判定するのではなく、 isNumericを使いたいのですが、型が違うので使えません。 1文字ずつ出力するのはcharAtかなと思ったのですがこれも型が違う。 型変換するにもどこですればいいのか分からず… どこを変えれば良いのか教えて下さい。 public class Test1 { public static void main(String[] args) { if(StringUtils.isNumeric(args)){ System.out.println(args); }else{ for(int i = 0; i<args.length; i++){ System.out.println(args.charAt()); } } } }

    • ベストアンサー
    • Java
  • java ネストしたfor文について

    ***** **** *** ** * 上のように*が減るようにしたいのですが下のソースではどこが悪いか教えてください class TestGoo{ public static void main(String args[]){ for(int i = 5; i>=1; i--){ for(int j = 5;j>=1; j--){ System.out.print('*'); } System.out.println(); } } }

  • 1を0001として出力する処理

    public class Test_file { public static void main(String args[]) { for( int count = 0 ; count <= 10 ; count++) { System.out.println(count); } } } このプログラムを実行すると 0 1 2 3 4 5 6 7 8 9 10 と出力されますが、これを 0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 と、連続して出力する処理を作成したいのですが、 この1桁を4桁にする処理が思い浮かばず苦戦している最中です。 自分でも考えてみたのですが、1を0001にしたり、 100を0100にする処理がどうしても思いつきません。 お手数ですが、上記のような処理ができる手立てを ご教授の程お願いします。

    • ベストアンサー
    • Java
  • 配列について

    class Sample1{ public static void main(String args[]){ int test[] = {89,56,56,77,54}; for(int i =0; i < test.length; i++){ System.out.println((i+1) + "番目の数は" + test[i] +"です。"); } } } >System.out.println((i+1) + "番目の数は" + test[i] +"です。"); の位置のtest[i]ってどこから来たんでしょうか? iには1番目とか2番目などといったものを出力するためにあるのであって、いつの間に89,56,56,77,54といった値が代入されのでしょうか?なんか漠然とした質問なんですがお願いします。

    • ベストアンサー
    • Java

専門家に質問してみよう