Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

JavaのApache POIでのfor文を使った行の追加はできますでしょうか

すみません、プログラミング自体初心者です。
お力添えをいただきますと幸いです。
直接のJavaの質問ではないのかもしれないのですがJavaでApache 
POIというものを使いたいと思っております。
Excelのファイルを制作したいと考えております。
自分で調べた際にはセルの追加では

HSSFCell[] cells = new HSSFCell[6];
        for (int i = 0; i < cells.length; i++)
        {
            cells[i] = row1.createCell(i);
        }

のように書くことは可能ということで、for文を使用すれば行を追加
する際にも使用できるのではないかという安易な考えを持ったのです
が行の追加でfor文で下記のものは全く通るものではありませんがで
きますでしょうか。

     for (int j = 0; j < 5; j++);
                {
                    HSSFRow row[j] = sheet1.createRow(j);
                }


すみません非常に低レベルなところでつまずいておりますがお力添え
をいただけましたらと思います。宜しくお願い致します。

使用しております環境は、MacOSX10.10.5
JRE:1.8.0_45-b14 x86_64
Eclipse IDE for Java Developers
Version: Mars Release (4.5.0)
となっております。

7

回答

1904

閲覧

7件の回答

評価

0

追記ではありますが、

 for (int j = 0; j < 5; j++);
                {
                    HSSFRow row[j] = sheet1.createRow(j);
                }

上記のようにj = 0; j < 5; j++のような変数である数値を実行します式
等に代入するという行為自体が可能であるのでしょうか。

評価

0

実行すれば分かるだろう。

評価

0

すみません、エラーがやはり出るようです。

 Exception in thread "main" java.lang.Error: Unresolved 
compilation problems: 
    
Syntax error on token "j", delete this token
j cannot be resolved to a variable
Duplicate local variable cells

構文としてこのように考えてしまっていいのかどうかというところで
はありました。

評価

0

 forの)の後ろの違いに気づけないのなら、
POIに手を出すよりももっと基礎のコードをたっぷり読み、た
っぷり書く方がいい。

評価

0

すいません、forの)の後の;はここでの記入でのタイプミスです。
HSSFRow row(j) = sheet1.createRow(j);とこちら側にエラーが出て
います。

HSSFRow row2 = sheet1.createRow(2);としますと普通に行の挿入
はうまくいきます。このHSSFRow row2の2の部分とcreateRow(2)
の2の部分を変数の代入等で自動的に増やせればと思っております。
宜しくお願い致します。

評価

0

次の違い。CellとRowで、宣言の場所が違うのは?

評価

0

それに、タイプミスということは、いちいちここに1文字ずつ
打ってるということか?
なんでコピペしないんだ?
実際に使ってるコードを見ずして、他人は的確に指摘できな
いぞ。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。