excel导出(带汉字的搜索关键字),注意编码问题

如果Excel的导出是从后台查询的,并且用了关键字搜索,需要注意编码问题,encodeURI(encodeURI(name))   URLDecoder.decode(name, "UTF-8");

//页面方法,导出为Excel
    function exporttoexcel(){
        var name=$("#name").val();
         ctype=$("#ctype").val();
        
      /*   var a = $('#exampleTableEvents').bootstrapTable('getSelections');
        var arr = new Array();
        for(var i=0;i<a.length;i++){
            arr.push(a[i].w_id);
        }
        alert(arr)
         */
     window.location.href="${pageContext.request.contextPath }/admin/chuhuoToExcel?name="+encodeURI(encodeURI(name))+"&ctype="+ctype;
        
    }

/**
     * 后台,出货记录  导出
     * @param response
     * @param name 商品名称
     * @param ctype 客户类型1客户2代理
     */
    @RequestMapping(value="/chuhuoToExcel")
    public void chuhuoToExcel(HttpServletResponse response,
            @RequestParam(value="name",required=false)String name,
            @RequestParam(required=false)String ctype){
        List<Map<String,Object>> models = null;
        Admin admin = adminService.getCurrent();
        if(admin==null){
            return;
        }
        String where = " 1=1 and sl_status=1 and sl_delete=1 ";
        where += " and sl_mid="+admin.getMemberId();
        if (name != null && !"".equals(name)) {
            try {
                name = URLDecoder.decode(name, "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            //String kw = Common.containsDanyin(name);
            where += " and (c_name like '%"+name+"%' or sd_gname like '%"+name+"%')  ";
        }
        if(StringUtils.isNotBlank(ctype)) {
            //Integer type = Integer.parseInt(ctype);
            where += " and c_type="+ctype;
        }
        where += " group by sl_id ";
        where += " order by sl_id desc ";
        models = shipmentService.jinhuoToExcel(where);
        String exportData = "[{\"colkey\":\"sl_sn\",\"name\":\"编号\",\"hide\":false},"+
                "{\"colkey\":\"c_name\",\"name\":\"客户姓名\",\"hide\":false},"+
                "{\"colkey\":\"c_phone\",\"name\":\"客户手机号\",\"hide\":false},"+
                "{\"colkey\":\"leixing\",\"name\":\"客户类型\",\"hide\":false},"+
                    "{\"colkey\":\"sl_discount\",\"name\":\"折扣(几折)\",\"hide\":false},"+
                   "{\"colkey\":\"sl_cmoney\",\"name\":\"预存金额(元)\",\"hide\":false},"+
                   "{\"colkey\":\"sl_paymoney\",\"name\":\"线下支付(元)\",\"hide\":false},"+
                    "{\"colkey\":\"sl_money\",\"name\":\"应收金额(元)\",\"hide\":false},"+
                   "{\"colkey\":\"creatdate\",\"name\":\"添加时间\",\"hide\":false},"+
                    "]";
        List<Map<String, Object>> lis = JsonUtils.parseJSONList(exportData);
        POIUtils.exportToExcel(response, models, lis, "出货记录");
    }
   

转载于:https://my.oschina.net/u/3575900/blog/1616225

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值