问题描述
- java中excel写入,为什么只显示一行?
-
public static void main(String[] args) throws Throwable{
int q=0;
String fileName="C:UsersChenDesktop123.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(); ![图片说明](http://img.ask.csdn.net/upload/201605/03/1462284278_703096.png) 初步学习java,请大神指点~~
解决方案
把wb.write(); 方法从for循环中移除,在wb.close()前面调用就可以了,在里面调用就只写一次。也就只写一条
时间: 2024-08-05 15:22:01