您的位置:首页 > 编程语言 > Java开发

数据源导出为Excel java后台代码整理

2017-07-26 14:02 211 查看

//这里是取得数据源的

ReturnModelmm=statisticService.getTeaWorkInfoBySchForExcel(schoolId,bank,title,date1,date2);Mapob=(Map)mm.getData();List<Map>result=(List<Map>)ob.get("data");for(Mapmap:result){//如果应收作业为0,则提交率和批改率都为0intsu=Integer.parseInt(map.get("submitCount").toString());//实收作业数if(map.get("shwCount").toString().equals("0")){map.put("subRate","0%");//map.put("completeRate","0%");}else{intsc=Integer.parseInt(map.get("shwCount").toString());//应收作业数map.put("subRate",(su*100/sc)+"%");//添加提交率}if(map.get("submitCount").toString().equals("0")){map.put("completeRate","0%");}else{intcp=Integer.parseInt(map.get("completeCount").toString());//批改人数map.put("completeRate",(cp*100/su)+"%");//添加批改率}}
//设置Excel表格的与数据源的属性字段所对应,需要导出哪些设置哪些String[]name1={"classes","displayName","title","thwCount","objCount","subCount","shwCount","submitCount","completeCount","subRate","completeRate"};String[]name2={"班级","教师","学科","布置作业数","客观题数","主观题数","应收作业","实收作业","批改人数","提交率","批改率"};intnum=name1.length;//声明一个工作薄HSSFWorkbookwb=newHSSFWorkbook();//声明一个单子并命名HSSFSheetsheet=wb.createSheet();//给单子名称一个长度sheet.setDefaultColumnWidth((short)15);//生成一个样式HSSFCellStylestyle=wb.createCellStyle();//创建第一行(也可以称为表头)HSSFRowrow=sheet.createRow(0);//样式字体居中style.setAlignment(HSSFCellStyle.ALIGN_CENTER);//给表头第一行一次创建单元格HSSFCellcell;for(inti=0;i<num;i++){cell=row.createCell(i);cell.setCellValue(name2[i]);cell.setCellStyle(style);}List<Map>Data=result;//向单元格里填充数据for(inti=0;i<Data.size();i++){row=sheet.createRow(i+1);for(intj=0;j<name1.length;j++){Stringjjj=StringUtil.toString(Data.get(i).get(name1[j]));row.createCell(j).setCellValue(StringUtil.toString(Data.get(i).get(name1[j])));}}//这里是生成导出数据源的时间String[]dd=newSimpleDateFormat("yyyy/MM/ddHH:mm:ss").format(newDate()).split("");//表名根据当前时间的时、分、秒生成,如当前时间为10点09分07秒,则表名为100907.xlsStringd=dd[1].split(":")[0]+dd[1].split(":")[1]+dd[1].split(":")[2];//清空response在浏览器中以弹框的形式出现提示下载response.reset();//设置response的Headertry{response.addHeader("Content-Disposition","attachment;filename="+newString(("学校详情表.xls").getBytes("UTF-8"),"ISO8859-1"));}catch(Exceptionex){}response.setContentType("application/octet-stream");try{wb.write(response.getOutputStream());}catch(Exceptionex){}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: