数据源导出为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){}}
相关文章推荐
- Java 导出Excel实例代码整理(POI) 可用
- java 导出excel代码
- flex前端+java后台实现Flex导出Excel的两种方法,
- jsf中用java代码把一个list的内容导出到本地excel
- java读取Excel导出Html对应的table代码
- java读取Excel导出Html对应的table代码
- excel导出时 如何根据java后台返回的结果 动态实现excel复选框的勾选
- 前台EXTJS后台JAVA导出EXCEL
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- java poi导出EXCEL xls文件代码
- java代码导出数据到Excel、js导出数据到Excel(三)
- 【JAVA技术】导出为excel代码
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- Java平台下著名的POI组件下的excel导出功能代码。
- [整理]导出excel文件的代码
- 关于 数据源 导出excel (这是) 通过 画一个html 实现的、最简单、好理解、的代码、
- java导出Excel之前台后台
- Java中用JXL导出Excel代码详解
- C# Excel导出后台代码
- Java中用JXL导出Excel代码详解