欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

jsp导出excel 解决文件名中文乱码

程序员文章站 2022-03-26 11:05:59
   WritableWorkbook wwb=null;      WritableSheet ws=null;...

   WritableWorkbook wwb=null;
     WritableSheet ws=null;
     OutputStream os = response.getOutputStream();
    wwb = Workbook.createWorkbook(os);
    ws=wwb.createSheet("员工编号",0);
    ws.getSettings().setDefaultColumnWidth(15);
    ws.setColumnView(0,20);
    ws.setColumnView(1,20);
    ws.setColumnView(2,80);
    Label label = new Label(0,0,"日期");  // 列 行 名称
    ws.addCell(label);
     label = new Label(1,0,"薪资");
    ws.addCell(label);
    label = new Label(2,0,"增幅");
    ws.addCell(label);
    response.setContentType("application/vnd.ms-excel");
    response.setHeader("Content-disposition","attachment; filename="+new String((titlename).getBytes("gbk"),"iso8859-1")+".xls");
    if(null!=pro_List && pro_List.size()>0){
        Map oneMap = null ;
        for(int i=0;i<pro_List.size();i++){
            oneMap = pro_List.get(i) ;
            label = new Label(0,(i+1),CommonString.getFormatPara(oneMap.get("date"))) ;
            ws.addCell(label);
            label = new Label(1,(i+1),CommonString.getFormatPara(oneMap.get("money"))) ;
            ws.addCell(label);
            label = new Label(2,(i+1),CommonString.getFormatPara(oneMap.get("amplification")).equals("")?"0":CommonString.getFormatPara(oneMap.get("amplification"))+"%") ;
            ws.addCell(label);
        }
    }
    wwb.write();
    wwb.close();
    os.close();
    os = null ;
    response.flushBuffer(); 
    out.clear(); 
    out = pageContext.pushBody();

分享到: