2016-02-08 53 views
-2
//for loop for traversing rows 
for (int i = 1 ; i < roorws.getCount() ; i++) 
     { // for loop for traversing columns 
      for (int j = 1 ;j<tcols ; j++) 
      { //if column is 5 
       if(j==5) 

       //printing values of cell 5 

       System.out.print(cells.get(i,j).getValue().toString().substring(0, 26).length()+ "\t"); 
       String cell1=cells.get(i,j).getValue().toString().substring(0, 26); 

       cell=cells.get("F2"); 
       cell.putValue(cell1); 
      } 
     System.out.println(""); 
     } 
+2

看起来你串缩短超过26个charachters:子(0,26)。 – Jens

+0

我认为印刷完成的路线。我确信在单元格中有一个不超过26个字符长度的字符串值。 – cdaiga

回答

0

显然,字符串的长度不是(至少)26个字符。变化:

System.out.print(cells.get(i,j).getValue().toString().substring(0, 26).length()+ "\t"); 

到:

System.out.print(cells.get(i,j).getValue().toString().length()+ "\t"); 

打印字符串的长度。

您可以使用Apache Commons StringUtils substring() method获得子串在一个安全的方式(因此只需要最多n字符):

String cell1= StringUtils.substring(cells.get(i,j).getValue().toString(), 0, 26); 
相关问题