java poi 导出Excel并追加数据
我的思路是这样子的,假如10000条数据,我要导到Excel表格中,而每次我只导1000条,需要导10次
每导一次我都把写入流关了,得到新的流导第二次。第三次。。。。。直到导完,我只看到第一次导的数据,其它几次的数据都看不到,这是为什么?
代码如下
//工作薄的代码已创建,以下是核心代码
for(int i=1; i<=10; i++){
output = new FileOutputStream("d:/1.xls");
//如果是第一次,我创建sheet对像
if(i == 1){
sheet = workBook.createSheet();
//这段的作用是创建Excel的表头,详细代码就不贴出来了
this.printTableContext(sheet);
workBook.setSheetName(0,"sheet1");
}
//这是查询结果,每次1000条,假如
list = new Query().queryList(sql);
//写内容
this.printContext(1000*(i-1),sheet,list);
workBook.write(output);
output.flush();
output.close();
}
这段是核心代码,我只是第一次创建了我的sheet对像,这个对像一直存在,第二次的时候就直接用这个对像,可是第二次写的时候,数据显示不出来,求高手指导啊。
------解决方案-------------------- output = new FileOutputStream("d:/1.xls");
for(int i=1; i<=10; i++){
//如果是第一次,我创建sheet对像
if(i == 1){
sheet = workBook.createSheet();
//这段的作用是创建Excel的表头,详细代码就不贴出来了
this.printTableContext(sheet);
workBook.setSheetName(0,"sheet1");
}
//这是查询结果,每次1000条,假如
list = new Query().queryList(sql);
//写内容
this.printContext(1000*(i-1),sheet,list);
workBook.write(output);
output.flush();