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,List dataList){ 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代码示例详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!