java导出包含多个sheet的Excel代码示例
本文实例为大家分享了java导出包含多个sheet的Excel的具体代码,供大家参考,具体内容如下
要导出多个sheet,关键就是Excel导出的时间设定,在执行导出文件之前,创建多个工作表
HSSFSheetsheet=workbook.createSheet(sheettitle);
这样每创建一个工作表,便会生成一个新的sheet表,在最后导出Excel的时候一次性导出。
示例:
Java类:
try{
HSSFWorkbookworkbook=newHSSFWorkbook();
OutputStreamout=response.getOutputStream();
for(intj=0;j>teasalList=service.select(teasal);
//接下来循环list放到Excel表中
if(teasalList.isSuccess()&&teasalList.getResult().size()>0){
//文件标题
SimpleDateFormatformatter1=newSimpleDateFormat("yyyy-MM-dd");
Stringnowdate=formatter1.format(newDate());
Stringtitle=null;
title="excel表格标题-"+nowdate+".xls";
Stringsheettitle="sheet表名";
//设置表格标题行
Stringoneheaders="首行标题";
Stringdateheaders=nowdate;
String[]headers=newString[]{"列1","列2","列3","列4"};
List
工具类:
publicclassExportExcelDownFee{
//导出表的列名
privateString[]rowName;
//导出表的小标题
privateStringoneheaders;
//导出表的日期
privateStringdateheaders;
//sheet表表名
privateStringsheettitle;
privateListdataList=newArrayList();
HttpServletResponseresponse;
//构造方法2,传入要导出的数据
publicExportExcelDownFee(Stringsheettitle,Stringoneheaders,Stringdateheaders,String[]rowName,ListdataList){
this.dataList=dataList;
this.oneheaders=oneheaders;
this.dateheaders=dateheaders;
this.rowName=rowName;
this.sheettitle=sheettitle;
}
/*
*导出数据
**/
publicvoidexport(HSSFWorkbookworkbook,OutputStreamout)throwsException{
try{
HSSFSheetsheet=workbook.createSheet(sheettitle);//创建工作表
HSSFCellStylecolumnTopStyle=this.getColumnTopStyle(workbook);//获取列头样式对象
HSSFCellStylestyle=this.getStyle(workbook);//单元格样式对象
//第一行
HSSFRowrowfirstName=sheet.createRow(0);
HSSFCelloneCellRowName=rowfirstName.createCell(0);//创建列头对应个数的单元格
oneCellRowName.setCellType(HSSFCell.CELL_TYPE_STRING);//设置列头单元格的数据类型
HSSFRichTextStringonetext=newHSSFRichTextString(oneheaders);
oneCellRowName.setCellValue(onetext);//设置列头单元格的值
//合并单元格CellRangeAddress构造参数依次表示起始行,截至行,起始列,截至列
sheet.addMergedRegion(newCellRangeAddress(0,0,0,3));
oneCellRowName.setCellStyle(columnTopStyle);//设置列头单元格样式
//第二行
HSSFRowrowDateName=sheet.createRow(1);
HSSFCellDateCellRowName=rowDateName.createCell(3);
DateCellRowName.setCellValue(dateheaders);
DateCellRowName.setCellStyle(columnTopStyle);
//定义所需列数
intcolumnNum=rowName.length;
HSSFRowrowRowName=sheet.createRow(2);//在索引2的位置创建行(最顶端的行开始的第二行)
//将列头设置到sheet的单元格中
for(intn=0;n
以上所述是小编给大家介绍的java导出包含多个sheet的Excel代码示例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!