关于zheng框架中使用poi导出Excel

一、添加前段导出按钮(系统管理为例)
前提:启动activemq.bat、zkServer.cmd服务,启动ZhengUpmsRpcServiceAppication、zheng-upms-server[jetty:run]


1、index页面创建导出按钮(zheng-upms-server src main webapp WEB-INF jsp manage 下的文件夹中的index.jsp页面
log—日志
organization-组织管理
permission-权限管理
role-角色管理
session-会话管理
system-系统管理
user-用户管理)

<shiro:hasPermission name="upms:system:export"><a class="waves-effect waves-button" href="javascript:;" onclick="exportAction()"><i class="zmdi zmdi-import-export"></i> 导出系统</a></shiro:hasPermission>
    
2、在底部添加window.open方法
//导出Excel文件
    function exportAction(){
        window.open("/manage/system/export")
    }

3、数据库表—upms_permission添加一行
permission_id    1    2    导出Excel    3    upms:organization:export    /manage/organization/export    zmdi zmdi-export    1    40    40

4、upms_role_permission
role_permission_id    1    86

5、将DBUtil、ExcelUtil、ResponseUtil复制到com.zheng.common-util下并修改DbUtil的内容(数据库名和密码)

6、在zheng-upms-server  com.zheng.upms.server下建dao层(包),将ExportDao复制进去,根据需要添加或修改方法(复制上一个方法更改方法名及SQL语句)

7、修改UpmsSystemController,将以下代码复制到controller中,String headers[]中的内容根据实际需要修改,exportDao后的方法名更改为需要的方法的方法名

    @ApiOperation(value = "导出Excel")
    @RequiresPermissions("upms:system:export")
    @RequestMapping(value = "/export", method = RequestMethod.GET)
    @ResponseBody
    public String export(HttpServletResponse response) throws Exception {
        ExportDao exportDao = new ExportDao();
        DbUtil dbUtil = new DbUtil();
        Connection con = null;
        ExcelUtil excelUtil = new ExcelUtil();
        try {
            con = dbUtil.getCon();
            Workbook wb = new HSSFWorkbook();
            String headers[] = {"编号", "图标", "系统标题", "系统名称", "根目录", "状态"};
            ResultSet rs = exportDao.exportSystem(con);
            excelUtil.fillExcelData(rs, wb, headers);
            ResponseUtil.export( response, wb, "系统管理.xls");
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                dbUtil.closeCon(con);
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        return null;

    }

8、IDEA上方导航栏Build-Build Project,编译结束后重启zheng-upms-server[jetty:run]

9、刷新页面后测试

posted @ 2017-12-21 10:13  Oo。  阅读(507)  评论(0)    收藏  举报