页面web 导出excle表格 模版另存为类型方法 数据导出

来源:互联网 发布:怎么让产品上淘宝首页 编辑:程序博客网 时间:2024/05/11 23:48
                    关于web页面表格导出excle的小结

由于项目的需要,原有的项目共有导出的excle的功能耗时严重,本人历时不到两天重新总结整理一个简单实用的方法,网上也有好多。

参考说明,欢迎学习指正。
导出的excle的功能是同过把页面查询出来的表的数据直接通过一个自定义的模版里另存为excle表的形式,实现的导出功能。
优点:相对其他方法而言,非常简便 实用,没有繁琐的逻辑写入写出字段数据代码。适用于导出功能少的项目使用,方便快捷。
缺点:每一张页面要对应一个excle的模版,也就是每一个导出的excle要对应一个jsp的页面类。

下面通过前台的页面和后台的核心代码,简单描述如下:
jsp显示的页面部分:
 <input type="button" class=" " value="导出为Excel文档" onclick="reportSubmit('aaa')"  value="导出为Excel文档"/>

调用的js方法部分:
<script>
      function reportSubmit(参数){
             window.location.href = "后台action的全路径方法名&参数;
    }
   
</script>
解释:前台比较简单,就是一个带有参数的input标签调用js的方法,根据路径去查找后台的对应的方法,参数可有可无,作用是用来

做一些功能的判断使用的,根据实际情况取舍。




action的部分:

后台的部分主要是使用的当前web页面显示结构的查询功能,在里面做一些判断的处理就可以。
核心代码:

        if(参数=null && 参数.equals("aaa")){
            String fileName = "表名.xls";
            response.setHeader("Content-Disposition","attachment;filename="+CustomersNewUtil.getUnicode

(fileName));
            request.getRequestDispatcher("excle表的全路径").forward(request, response);
        }
解释:就是通过参数在查询的方法里面添加判断跳转到excle模版的页面来保存页面。达到导出excle 的功能。

在action里面有一个CustomersNewUtil.getUnicode部分是关于编码格式的处理,是一个action同路径下面的独立的类:

代码如下:

    public static String getUnicode(String str) {
        if (str == null) {
            return null;
        }
        try {
            return new String(str.getBytes("gb2312"), "iso-8859-1");
        } catch (Exception ex) {
            return str;
        }
    }
    没用到的部分没有展示。


以上纯属个人实际应用后的简单总结,欢迎学习指正,大咖见笑。

 
                                                                                                                                                                                                                                         小樊   qq:731794167   20160815
0 0
原创粉丝点击