javaweb--数据导出到excel
2015-05-10 22:43
211 查看
框架:spring (包括mvc) 、ibatis、jquery easyui
前台js代码:
jsp代码:
后台util方法:
action层代码:
前台js代码:
$(function(){ $('#dg').datagrid({ url:'book.json', pagination:true, singleSelect:true, toolbar: [{ text:'导出excel', iconCls: 'icon-edit', handler: function(){ var s = $('#dg').datagrid("options").columns[0]; var title=""; var field=""; for(var i=0;i<s.length;i++){ title=title+s[i].title+','; field = field+s[i].field+','; } title=title.substring(0,title.length-1); field=field.substring(0,field.length-1); $('#t1').attr("value",title); $('#f1').attr("value",field); $('#form2').submit(); } }], columns:[[ {field:'orderid',title:'订单号',width:100}, {field:'deskid',title:'桌号',width:100}, {field:'cusname',title:'预订人姓名',width:100,align:'right'}, {field:'cusnum',title:'预订人数',width:100,align:'right'}, {field:'cusphone',title:'预订手机号码',width:100,align:'right'}, {field:'ostate',title:'订单状态',width:100,align:'right'} ]] }); })
jsp代码:
<body> <table id="dg"></table> <form id="form2" action="/WfjManage/outerBook.do"style="display:none"> <input id="t1" type="text" name="t" /> <input id="f1" type="text" name="f" /> </form> </body>
后台util方法:
/** * 设置excel的表头 * @param str 前台截取的title * @param sheet HSSFSheet的sheet */ public static void outerHeader(String[] str,HSSFSheet sheet){ //创建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell = null; for (int i = 0; i < str.length; i++) { //为第一行写入数据 cell=row.createCell(i); cell.setCellValue(str[i]); } } /** * 设置excel的数据 * @param str 获取的field * @param sheet HSSFSheet的sheet * @param list 查询数据库获取的list数据 * @param rowIndex 开始行 */ public static void outerColumns(String[] str,HSSFSheet sheet,List<Map<String, Object>> list,int rowIndex){ HSSFRow row; int columnsNum = list.size(); for (int i = 0; i < columnsNum; i++) { row=sheet.createRow(i+rowIndex); Map<String, Object> obj = list.get(i); for (int j = 0; j < str.length; j++) { row.createCell(j).setCellValue(obj.get(str[j].toUpperCase()).toString()); } } }
action层代码:
@Autowired IDishBookService iDishBookService; @RequestMapping("/outerBook") public void outerBook(HttpServletResponse response,HttpServletRequest request){ String[] str1 = request.getParameter("f").split(",");//前台截取的field String s = null; try { s = new String(request.getParameter("t").getBytes("ISO-8859-1"), "utf-8");//解决乱码 } catch (UnsupportedEncodingException e1) { e1.printStackTrace(); } String[] str2 = s.split(",");//前台获取的title response.setContentType("application/octet-stream");//设置数据类型 response.setHeader("content-disposition", "attachment;filename=outer.xls");//设置头信息 导出的xls名称 HSSFWorkbook workbook = new HSSFWorkbook();//创建工作簿 HSSFSheet sheet = workbook.createSheet("sheet0");//创建excel的sheet Excel.outerHeader(str2, sheet);//static method 设置表头 Excel.outerColumns(str1, sheet, iDishBookService.showBook(), 1);//static method 写入值 try { ServletOutputStream outputStream = response.getOutputStream();//输出流 workbook.write(outputStream);//写入工作簿 outputStream.flush();//释放 outputStream.close();//关闭 } catch (IOException e) { e.printStackTrace(); } }
相关文章推荐
- Java web查出的数据导出为Excel的表格
- Java web Excel导出数据
- 问问题_Java一次导出百万条数据生成excel(web操作)
- JavaWEB_POI导出大量数据excel(50万左右)
- Java一次导出百万条数据生成excel(web操作)
- JavaWeb 利用POI实现前端数据到Excel导出
- 网页将数据导出到Excel【JavaWeb技术】
- 关于Java Web 使用 POI 将 数据库表 导出 Excel 的完整实例
- javaweb-浏览器根据搜索条件从服务器导出/导入excel到本地
- selenium-Java -从web获取数据后批量存入excel
- java实现excel横排以及竖排数据导出
- Java中数据导出到Excel实例
- java操作excel之jxls导出excel模板数据
- JAVA WEB ------ 文件下载及导出数据到office Execl表格
- java操作Excel之POI(4)利用POI实现数据的批量导出
- java操作Excel之POI(5)利用POI实现使用模板批量导出数据
- java将数据导出,带有合并单元格的excel--jxls技术
- Java导出Excel数据
- 【JavaWeb】WEB下excel导出
- java中使用poi导出excel表格数据并且可以手动修改导出路径