java EasyUI导出当前页和导出模板
生活随笔
收集整理的這篇文章主要介紹了
java EasyUI导出当前页和导出模板
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
環境:easyUi框架和ssm集成框架,java語言 ,maven管理jar包,tomcat服務器版本8.5 jdk1.8
案例:
導入poi依賴
<dependency>
???????? <groupId>org.apache.poi</groupId>
???????? <artifactId>poi</artifactId>
???????? <version>3.10.1</version>
????? </dependency>
controller
@RequestMapping("/excel")public ModelAndView exportUser(@RequestParam(value="page",defaultValue="1")Integer page,@RequestParam(value="rows",defaultValue="5") Integer rows) {System.out.println("aaa");ModelAndView mv = new ModelAndView();EasyUIpage uipage = userService.queryAll(page,rows);List<User>users = (List<User>)uipage.getRows();mv.addObject("userList",users);mv.setViewName("export-user");return mv;}自定義excel 視圖
public class UserExcelView extends AbstractExcelView {/*** 以下完成視圖的渲染*/@Overrideprotected void buildExcelDocument(Map<String, Object> model, HSSFWorkbook workbook,HttpServletRequest request, HttpServletResponse response) throws Exception {// 從model對象中獲取userList@SuppressWarnings("unchecked")List<User> userList = (List<User>) model.get("userList");// 創建Excel的sheetHSSFSheet sheet = workbook.createSheet("會員列表");// 創建標題行HSSFRow header = sheet.createRow(0);header.createCell(0).setCellValue("ID");header.createCell(1).setCellValue("用戶名");header.createCell(2).setCellValue("姓名");header.createCell(3).setCellValue("年齡");header.createCell(4).setCellValue("性別");header.createCell(5).setCellValue("出生日期");header.createCell(6).setCellValue("創建時間");header.createCell(7).setCellValue("更新時間");// 填充數據int rowNum = 1;for (User user : userList) {HSSFRow row = sheet.createRow(rowNum);row.createCell(0).setCellValue(user.getId());row.createCell(1).setCellValue(user.getUserName());row.createCell(2).setCellValue(user.getName());row.createCell(3).setCellValue(user.getAge());String sexStr;if (user.getSex() == 1) {sexStr = "男";} else if (user.getSex() == 2) {sexStr = "女";} else {sexStr = "未知";}row.createCell(4).setCellValue(sexStr);row.createCell(5).setCellValue(new DateTime(user.getBirthday()).toString(Constants.DATE));row.createCell(6).setCellValue(new DateTime(user.getCreated()).toString(Constants.DATE_TIME));row.createCell(7).setCellValue(new DateTime(user.getUpdated()).toString(Constants.DATE_TIME));rowNum++;}// 設置相應頭信息,以附件形式下載并且指定文件名response.setHeader("Content-Disposition", "attachment;filename="+ new String("會員列表.xls".getBytes(), "ISO-8859-1"));}}分頁實體
public class EasyUIpage { private Long total; private List<?> rows; public Long getTotal() {return total; } public void setTotal(Long total) {this.total = total; } public List<?> getRows() {return rows; } public void setRows(List<?> rows) {this.rows = rows; } @Override public String toString() {return "EasyUIpage [total=" + total + ", rows=" + rows + "]"; }}jsp頁面(直接附上整個小案例頁面)
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>會員管理系統</title> <link rel="stylesheet" type="text/css" href="../js/jquery-easyui-1.4/themes/default/easyui.css" /> <link rel="stylesheet" type="text/css" href="../js/jquery-easyui-1.4/themes/icon.css" /> <script type="text/javascript" src="../js/jquery-easyui-1.4/jquery.min.js"></script> <script type="text/javascript" src="../js/jquery-easyui-1.4/jquery.easyui.min.js"></script> <script type="text/javascript" src="../js/jquery-easyui-1.4/locale/easyui-lang-zh_CN.js"></script> <script type="text/javascript" src="../js/common.js"></script> </head> <body><div><table class="easyui-datagrid" id="userList" title="會員列表" data-options="singleSelect:false,collapsible:true,pagination:true,url:'/Integration/userController/select',method:'post',pageSize:5,toolbar:toolbar,pageList:[2,5,10]"><thead><tr><th data-options="field:'ck',checkbox:true"></th><th data-options="field:'id',width:60">ID</th><th data-options="field:'userName',width:200">用戶名</th><th data-options="field:'name',width:100">姓名</th><th data-options="field:'age',width:100">年齡</th><th data-options="field:'sex',width:80,align:'right',formatter:formatSet">性別</th><th data-options="field:'birthday',width:80,align:'right',formatter:formatBirthday">出生日期</th><th data-options="field:'created',width:130,align:'center',formatter:formatDate">創建日期</th><th data-options="field:'updated',width:130,align:'center',formatter:formatDate">更新日期</th></tr></thead></table></div> <div id="userAdd" class="easyui-window" title="新增會員" data-options="modal:true,closed:true,iconCls:'icon-save',href:'/Integration/to/user-add'" style="width:800px;height:600px;padding:10px;"> </div> <div id="userUpadte" title="修改會員" style="width:800px;height:600px;padding:10px;"> </div> <!-- <div id="delete" class="easyui-window" title="刪除會員" data-options="modal:true,closed:true,iconCls:'icon-save',href:'/Integration/to/delete'" style="width:800px;height:600px;padding:10px;">The window content. </div> --> <script type="text/javascript"> function formatDate(val,row){var now = new Date(val);return now.format("yyyy-MM-dd hh:mm:ss"); } function formatBirthday(val,row){var now = new Date(val);return now.format("yyyy-MM-dd"); } function formatSet(val,row){if(val == 1){return "男";}else if(val == 2){return "女";}else{return "未知";} } function getSelectionsIds(){var userList = $("#userList");var sels = userList.datagrid("getSelections");var ids = [];for(var i in sels){ids.push(sels[i].id);}ids = ids.join(",");return ids; } var toolbar = [{text:'新增',iconCls:'icon-add',handler:function(){$('#userAdd').window('open');} },{ text:'編輯', iconCls:'icon-edit', handler:function(){var ids = getSelectionsIds();if(ids.length == 0){$.messager.alert('提示','未選中用戶!');return ;}if(ids.indexOf(',')>0){$.messager.alert('提示','不能選中多個用戶');return ;}$('#userUpadte').window({href:"/Integration/to/update",onLoad:function(){var data=$('#userList').datagrid('getSelections')[0];$('#userUpadte').form('load',data);}}).window('open');} },{text:'刪除',iconCls:'icon-cancel',handler:function(){var ids = getSelectionsIds();alert(ids);if(ids.length == 0){$.messager.alert('提示','未選中用戶!');return ;}$.messager.confirm('確認','確定刪除ID為 '+ids+' 的會員嗎?',function(r){if (r){$.post("/Integration/userController/delete",{'ids':ids}, function(data){if(data.status == 200){$.messager.alert('提示','刪除會員成功!',undefined,function(){$("#userList").datagrid("reload");});}});}});} },'-',{text:'導出',iconCls:'icon-remove',handler:function(){var optins = $("#userList").datagrid("getPager").data("pagination").options;var page = optins.pageNumber;var rows = optins.pageSize;$("<form>").attr({"action":"${pageContext.request.contextPath}/userController/excel","method":"POST"}).append("<input type='hidden' name='page' value='"+page+"'/>")//導出當前頁.append("<input type='hidden' name='rows' value='"+rows+"'/>").appendTo("body").submit();} }]; </script> </body> </html>service
public EasyUIpage queryAll(Integer pageNum,Integer pageSize ) {EasyUIpage uiPage = new EasyUIpage();PageHelper.startPage(pageNum,pageSize);List<User> users = userMapper.selectAll();PageInfo<User> pageinfo = new PageInfo<User>(users);uiPage.setRows(pageinfo.getList());uiPage.setTotal(pageinfo.getTotal());return uiPage;}mapper
@Select("select * from tb_user")public List<User> selectAll()導出模板
只需要將自定義視圖稍作修改即可
?
總結
以上是生活随笔為你收集整理的java EasyUI导出当前页和导出模板的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JTable 一个最好的例子
- 下一篇: 用C++实现简单随机二元四则运算