导出excel时浏览器的校验

public static WritableWorkbook getWritableWorkbook(HttpServletRequest request,HttpServletResponse response,String fileName) throws IOException{
        String agent = (String)request.getHeader("USER-AGENT"); 
        response.setContentType("application/vnd.ms-excel;charset=UTF-8");
        response.setCharacterEncoding("UTF-8");
        fileName = fileName + DateUtil.dateToString(new Date(), "yyyy-MM-dd");
        if(agent != null && (agent.contains("Firefox") )){
            // FF              
            fileName = "=?UTF-8?B?" + (new String(Base64.encodeBase64(fileName.getBytes("UTF-8")))) + "?=";            
        }else {
            // IE
            String os = System.getProperty("os.name");
            fileName = URLEncoder.encode(fileName, "UTF-8");
            if(os.indexOf("Linux") != -1){
                fileName = new String(fileName.getBytes("UTF-8"), "ISO8859-1");
            }else if(os.indexOf("Windows") != -1){
                fileName = new String(fileName.getBytes("GB2312"), "ISO8859-1");
            }else if(os.indexOf("Mac")!= -1) {
                fileName = new String(fileName.getBytes("GB2312"), "ISO8859-1");
            }
        }  
        response.setHeader("Content-Disposition", "attachment;filename="+ fileName + ".xls");
        WritableWorkbook wb = Workbook.createWorkbook(response.getOutputStream());
        return wb;
    }
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值