2015-06-25 74 views
0

我有两个关于分割任何ArrayList的问题。分割列表

  1. 我的名单empdetails之一返回这个["Employee","Emp Name","Emp Sex","Emp Address"] - 如果看到此这实际上大小为1的列表,所以即使我重复这个名单,它会给我只值,当我试图写这个名单在excel中,它在一个单元格中写入“Employee”,“Emp Name”,“Emp Sex”,“Emp Address”。有没有办法在不同的单元格中编写Employee,Emp Name等?
  2. 我的第二个包含Employees值的列表“fieldValues”是这样的:["5001", ,, "Emp Test", ,, "Male", ,, "Texas", "5002", ,, "Emp Test 1", ,, "Female", ,, "WV"]:我想在excel的第二行插入Emp 5002。我想到的唯一方法是检查“德克萨斯州”后面的单个分隔符,但不知道该怎么做。

代码的第二个问题:

String[] tempValue = new String[fieldValues.size()]; 
int j = 0; 
for (Object valueInfo : fieldValues){ 
    String [] fieldInfo = ((String)valueInfo).split(","); 
    if(fieldInfo.length > 0){ 
     tempValue[j] = fieldInfo[0]; 
    } 
    j++; 
} 

感谢您的帮助!

+0

您是否使用任何excel库来做到这一点,比如jexcel,poi,..? –

+0

是的,我正在使用poi – user2810293

回答

0

要回答你的第一个问题, 您应该删除基于分号分隔符的价值和分裂括号,那么你可以写成不同的细胞。

对于第二个问题: 我想每行中列的固定这样变量“J”增量,直到每一行的最后一列的数量,然后插入新行,并重置计数器。在这里,你应该使用下面的方式分割即使列值为空

String [] fieldInfo = ((String)valueInfo).split(",", -1); 
+0

感谢您的回复。我得到了我的第一个问题的答案,但无法得到第二个问题。变量'j'正在递增,直到列表结束。我想在“德克萨斯州”之后插入新行 – user2810293

+0

您不应该增加到列表末尾。假设每行包含10列,为每次迭代增加j值并检查j == 10.如果是这样,你知道你到达了行的末端,通过将j重置为0来开始插入新行 –

+0

是的,但是列每一行都不固定。 – user2810293