アプリ版:「スタンプのみでお礼する」機能のリリースについて

poiをお利用してexcelファイルを読み込み、データをグラフ化するプログラムを作っているのですが、
読み込んだ値をArrayListに入れるところでつまづいています。
エクセルデータ1行ごとに一つのグラフを作成したいので、1行ずつListに入れ、後に指定したList名(行番号)から値を取り出しプロットする。というものを目標としているのですが、どういったプログラムを入力すればいいのか分かりません。


for(int i = 1; i <= sheet.getLastRowNum(); i++ ){
Row row = sheet.getRow(i);
for(int t = 1; t <= row.getLastCellNum(); t++){
Cell cell = rowgetCell(t);

ちなみに、行番号は上記のように変数iにしました。

また、1つの行に文字列と数値が含まれているものもあるのですが、同じリストに入れることできますでしょうか?

教えてください。

グラフ化するのに他にいい方法がありましたら、そちらも教えていただきたいです。

A 回答 (2件)

以下のようにしてみると配列の中に数値と文字列を入れ、また取り出せた事が分かります


class DGI{

public static void main(String[] args){

Object[][] a = new Object[2][3];


Integer b=new Integer(11);
String c="文字列1";
Integer d=new Integer(33);

a[0][0]=b;
a[0][1]=c;
a[0][2]=d;

String e="文字列2";
Integer f=new Integer(22);
String g="文字列3";

a[1][0]=e;
a[1][1]=f;
a[1][2]=g;

String b2="";
int c2=0;

for(int i = 0; i < 2; i++){
for(int j = 0; j <3; j++){


if(a[i][j] instanceof String){
b2=(String)a[i][j];
System.out.println(b2);
}
if(a[i][j] instanceof Integer){
Integer d2=(Integer)a[i][j];
c2 = d2.intValue();
System.out.println(c2);
}



}
}




}
    • good
    • 0
この回答へのお礼

詳しい回答ありがとうございます!
Integerを使えばいけるのですね!!
一度試してみます!本当にありがとうございます!!

お礼日時:2016/11/30 02:15

>1つの行に文字列と数値が含まれているものもあるのですが、同じリストに入れることできますでしょうか?



ArrayList<Object>に入れておいて

取り出す時に 例えばArrayList<Object> a に入れたとすると
String b="";
int c=0;
if(a.get(i) instanceof String){
b=(String)a.get(i);
}
if(a.get(i) instanceof Integer){
Integer d=(Integer)a.get(i);
c = d.intValue();
}

のように取り出せるのではないでしょうか
    • good
    • 0
この回答へのお礼

回答ありがとうございます^^
質問しておきながら申し訳ございませんが
現在、listではなく配列をもちいて作っております。

objectを用いるということなのですが、
二次元配列の場合
Object[][] a = new Object[2][3];
for(int i = 0; i < 2; i++){
for(int j = 0; j <3; j++){
a[i][j] = new Object();

でよろしいのでしょうか?
また、a[i][j]に文字列もしくわ数値を格納する場合はどうすればいいのでしょうか?
Objectクラスを作ればいいのでしょうか?
それとも a[i][j] = new Object();の下にa[i][j] = getCellValue(cell);をついかすればいいのでしょうか?

追加質問申し訳ございません。

お礼日時:2016/11/29 01:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!