List<String> list=new ArrayList<String>();
ResultSet rs = this.selectAllDataFromDB(sql);
int rowIndex = 1; while(rs.next()){

    for(int i = 1;i <=tableHeader.length;i++) //tableHeader.length是excel表头上的列名个数
  { 

System.out.println(rs.getString(i));
list.add(rs.getString(i)); 
  } 


createTableRow(list,(short)rowIndex); 

rowIndex++; 

我打印出来是4个值,但是我一添加List里面,他就等于查询出来的行数乘以Excel表头的个数(几次一样的4个值),请问怎么添加到list也是只添加4个值

解决方案 »

  1.   

    while()循环了行数那么多次
    for()循环了列数那么多次
    list.add在for()里面,当然添加了行数乘以列数那么多次你的问题在于每添加一行后没有清空list
    在for()循环之前加一行: 
    list=new ArrayList<String>();
      

  2.   

    +1 你的list是声明在while循环外面了,list里面的值就是while的次数* for里面的次数了.
      

  3.   

    汗了,这种问题多dubug看看就明白了,亲手去尝试会明白的