chen--bigdata 2016-05-03 14:06 采纳率: 33.3%
浏览 1679

java中excel写入,为什么只显示一行?

public static void main(String[] args) throws Throwable{
int q=0;
String fileName="C:\Users\Chen\Desktop\123.xls";//以下是读取一个excel文件
File file=new File(fileName);
Workbook rb=Workbook.getWorkbook(file);
WritableWorkbook wb=Workbook.createWorkbook( new File( "test.xls" ));//以下是生成一个excel文件
WritableSheet new_sheet = wb.createSheet( "sheet" , 0 );
Sheet sheet=rb.getSheet(0);
for(int i=0;i<sheet.getRows();i++){
for(int j=0;j<sheet.getColumns();j++){
Cell cell=sheet.getCell(j,i);
String[] s;
s=cell.getContents().split(";");//作者分列,存储到字符串数组中。
int m=s.length;
System.out.println(m);
if(m==1){
Label label = new Label(0,q++,s[0]);
System.out.println(s[0]);
new_sheet.addCell(label);
wb.write();
}else{
for(int w=0;w<m;w++){
for(int x=w+1;x<m;x++){
Label label = new Label(0,q,s[w]);
System.out.println(s[w]);
new_sheet.addCell(label);
Label label2 = new Label(1,q++,s[x]);
System.out.println(s[x]);
new_sheet.addCell(label2);
wb.write();
}

                 }
             }           
         }
     }
     wb.close(); 
            ![图片说明](https://img-ask.csdn.net/upload/201605/03/1462284278_703096.png)
            初步学习java,请大神指点~~
  • 写回答

1条回答

  • danielinbiti 2016-05-03 14:59
    关注
     把wb.write(); 方法从for循环中移除,在wb.close()前面调用就可以了,在里面调用就只写一次。也就只写一条
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器