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 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题