综合查询(五)查询结果页面
1)jsp页面代码
<%@ page contentType="text/html; charset=GBK"%> <%@ page isELIgnored="false" %> <% String webPath = request.getContextPath(); %> <html> <head> <link rel="stylesheet" href="main.css" type="text/css"> <script type="text/javascript" src="<%=webPath%>/application/dwy/js/jquery-1.7.2.js"></script> <script type="text/javascript" src="<%=webPath%>/application/dwy/js/import.js" charset="UTF-8"></script> <script type="text/javascript"> var path="<%=webPath%>"; </script> </head> <body > <c:if test="${resultText==null ||resultText==''}"> <p style="color: red">没有您要查询的结果</p> </c:if> ${resultText} <input id="importExcel" type="button" value="导出查询结果" class="button" onclick="import2Excel()" style="width:90px;height:20px" /> </body></html>
import.js页面代码
/** * 分页功能中给当前的表单添加要查找的是第几页 * @param {Object} value */ var setpagenow=function(value){ var $form=$("#searchForm"); //创建当前页的隐藏按钮,将当前查询的页码传递到后台 var $currentPage=$("<input/>"); $currentPage.attr("type","hidden"); $currentPage.attr("name","currentPage"); $currentPage.attr("value",value); $form.append($currentPage); $form.submit(); } var import2Excel=function(){ var $form=$("#searchForm"); $form.attr("action",path+"/zhSearchAction.do?method=import2Excel"); $form.submit(); }
导出成excel的工具类
/** * 导出excel的工具类 */ public class Export2ExcelUtils { /** * 导出Excel的方法 * @param title excel中的sheet名称 * @param headers 表头 * @param columns 表头对应的数据库中的列名 * @param result 结果集 * @param out 输出流 * @param pattern 时间格式 * @throws Exception */ public static void exportExcel(String title, String[] headers, String[] columns, List<Map<String, Object>> result, OutputStream out, String pattern) throws Exception{ // 声明一个工作薄 HSSFWorkbook workbook = new HSSFWorkbook(); // 生成一个表格 HSSFSheet sheet = workbook.createSheet(title); // 设置表格默认列宽度为20个字节 sheet.setDefaultColumnWidth((short) 20); // 生成一个样式 HSSFCellStyle style = workbook.createCellStyle(); // 设置这些样式 style.setFillForegroundColor(HSSFColor.GOLD.index); style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); style.setBorderBottom(HSSFCellStyle.BORDER_THIN); style.setBorderLeft(HSSFCellStyle.BORDER_THIN); style.setBorderRight(HSSFCellStyle.BORDER_THIN); style.setBorderTop(HSSFCellStyle.BORDER_THIN); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 生成一个字体 HSSFFont font = workbook.createFont(); font.setColor(HSSFColor.VIOLET.index); //font.setFontHeightInPoints((short) 12); font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); // 把字体应用到当前的样式 style.setFont(font); // 指定当单元格内容显示不下时自动换行 style.setWrapText(true); // 产生表格标题行 HSSFRow row = sheet.createRow(0); for (int i = 0; i < headers.length; i++) { HSSFCell cell = row.createCell((short) i); cell.setCellStyle(style); HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text); } // 遍历集合数据,产生数据行 if(result != null){ int index = 1; //处理int类型和double类型的数据 String str="zdmj,jzmj,lhmj,lhl,wyfwfqkpzbzgc,wyfwfqkpzbzdcydt,wyfwfqkpzbzdcwdt,wyfwfqkpzbzqt,fwyfwfqkpzbzgc,fwyfwfqkpzbzdcydt,fwyfwfqkpzbzdcwdt,fwyfwfqkpzbzqt,cwzk_ze,cwzk_sjl,cwzk_tcf,cwzk_ggf,cwzk_qt,cwzk_yycb,cwzk_yylr,zczj,jzmj_gc,jzmj_dc"; String strInt="zts,yrzhs,fwslgc,fwsldc,ryzs,xmfzrzs,glrzs,jsryzs,barpzs,bawpzs,bjrpzs,bjwpzs,kfzs,qtzs"; String [] arrs=str.split(","); String [] arrInt=strInt.split(","); List<String> list=Arrays.asList(arrs); List<String> intList=Arrays.asList(arrInt); for(Map<String, Object> m:result){ row = sheet.createRow(index); int cellIndex = 0; for(String s:columns){ //遍历每行 HSSFCell cell = row.createCell((short) cellIndex); //cell.setCellStyle(style2); /** * 设置单元格的数据格式,只有指定下面的单元格才设置 */ s=s.toUpperCase(); if(list.contains(s.toLowerCase())){//如果是需要转成number的的列,在这里设置 Double num=0d; String ss=m.get(s) == null ? "" : m.get(s).toString(); if(StringUtils.isNotBlank(ss)){ num=Double.parseDouble((String) m.get(s)); } cell.setCellValue(num); // 设置单元格的值 // 设置单元格的显示格式,具体支持哪些格式详见BuiltinFormats类 HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0.00")); cell.setCellStyle(cellStyle); }else if(intList.contains(s.toLowerCase())){ Integer num=0; String ss=m.get(s) == null ? "" : m.get(s).toString(); if(StringUtils.isNotBlank(ss)){ num=Integer.parseInt((String) m.get(s)); } cell.setCellValue(num); // 设置单元格的值 // 设置单元格的显示格式,具体支持哪些格式详见BuiltinFormats类 HSSFCellStyle cellStyle = workbook.createCellStyle(); cellStyle.setDataFormat(HSSFDataFormat.getBuiltinFormat("#,##0")); cell.setCellStyle(cellStyle); }else{ HSSFRichTextString richString = new HSSFRichTextString(m.get(s) == null ? "" : m.get(s).toString()); cell.setCellValue(richString); } cellIndex++; } index++; } } workbook.write(out); } }
文章评论