㈠ java 操作poi 导出excel 多个sheet
String[]handers={'1','2','4','5','6'};
HSSFWorkbookwb=newHSSFWorkbook();//创建工作簿
HSSFSheetsheet=wb.createSheet("sheet1");//第一个sheet
HSSFRowrowFirst=sheet.createRow(0);//第一个sheet第一行为标题
//写标题了
for(inti=0;i<handers.length;i++){
//获取第一行的每一个单元格
HSSFCellcell=rowFirst.createCell(i);
//往单元格里面写入值
cell.setCellValue(handers[i]);
}
//写数据集
//假定数据集是list集合
for(inti=0;i<list.size;i++){
//获取list里面存在是数据集对象
Objectobj=list.get(i);
//创建数据行
HSSFRowrow=sheet.createRow(i+1);
//设置对应单元格的值
row.createCell(0).setCellValue("obj的属性0");
row.createCell(1).setCellValue("obj的属性1");
row.createCell(2).setCellValue("obj的属性2");
row.createCell(3).setCellValue("obj的属性3");
row.createCell(4).setCellValue("obj的属性4");
row.createCell(5).setCellValue("obj的属性5");
}
//写出文件(path为文件路径含文件名)
OutputStreamos=newFileOutputStream(newFile(path));
wb.write(os);
以上代码为写出单个sheet,多个sheet其实是同理的!关键就是在创建sheet的时候保证sheet名字不同,对于你的需求,个人建议利用面向对像的思想构建一个excel对象,对像属性有文件名,文件sheet,然后在是sheet对象包含标题,数据集属性,忘采纳,谢谢!
㈡ 如何java将多个同一个execl的不同sheet拆分成不同的execl
推荐使用两个函数:
match和countif
match用于匹配,如果在sheet1表中的某个单元格输入公式:=match(a1,sheet2!a:a,0),意思是,在表sheet2中查找a1单元格的内容,如果找到,会返回找到的单元格的行标,如果没找到,会返回.#n/a,可以判断sheet1中的哪些项在sheet2中没有.同理,也可以用sheet2中来索引sheet1
第二个函数是countif,假设条件同上,在sheet1中的某个单元格输入公式:
=countif(a1,sheet2!a:a),意思是返回sheet2中的第a列中,有多少个值等于sheet1中的a1的单元值.
--没事多看看帮助.