java jxl.jar为什么只写入了一个单元格,cell1明明都得到了啊。写入方法看如下代码,请高人指点
publicvoidwriter(){try{Workbookbooka=Workbook.getWorkbook(newFile("F:网络账号记录表.xls"));/...
public void writer(){
try
{
Workbook booka= Workbook.getWorkbook(new File("F:网络账号记录表.xls"));
//获得第一个工作表对象
Sheet sheeta=booka.getSheet(0);
int a = sheeta.getColumns();
int b = sheeta.getRows();
WritableWorkbook book = Workbook.createWorkbook(new File("F:网络账号记录表副本.xls"));
WritableSheet sheet = book.createSheet("第一页", 0);
for(int c=0;c<b;c++){
for(int i=0;i<a;i++){
Cell cell1=sheeta.getCell(i,c);
String result=cell1.getContents();
Label label = new Label(i, c, result);
sheet.addCell(label);
book.write();
}
}
book.close();
booka.close();
} catch (Exception e) {
System.out.println(e);
}
} 展开
try
{
Workbook booka= Workbook.getWorkbook(new File("F:网络账号记录表.xls"));
//获得第一个工作表对象
Sheet sheeta=booka.getSheet(0);
int a = sheeta.getColumns();
int b = sheeta.getRows();
WritableWorkbook book = Workbook.createWorkbook(new File("F:网络账号记录表副本.xls"));
WritableSheet sheet = book.createSheet("第一页", 0);
for(int c=0;c<b;c++){
for(int i=0;i<a;i++){
Cell cell1=sheeta.getCell(i,c);
String result=cell1.getContents();
Label label = new Label(i, c, result);
sheet.addCell(label);
book.write();
}
}
book.close();
booka.close();
} catch (Exception e) {
System.out.println(e);
}
} 展开
2个回答
展开全部
看备简了一下你的代码:大眼一看,没什么问题,后来用eclipse来debug了一下后纤唯才发现问题。
问题出现在这一行仿竖裤:book.write();
我的理解是:write();方法执行的时候,就认为你已经把sheet所需要的东西全部add进去了。之后再add的cell不起任何作用,这就是为什么你写的excel只有第一个单元格有东西。
代码这样改:把book.write();这一行放在双重for循环之外,也就是book.close();的上一行,就搞定了。
希望能帮到你!
问题出现在这一行仿竖裤:book.write();
我的理解是:write();方法执行的时候,就认为你已经把sheet所需要的东西全部add进去了。之后再add的cell不起任何作用,这就是为什么你写的excel只有第一个单元格有东西。
代码这样改:把book.write();这一行放在双重for循环之外,也就是book.close();的上一行,就搞定了。
希望能帮到你!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询