zoukankan      html  css  js  c++  java
  • poi excel文件名或者内容中文乱码

    1.文件名乱码处理

    		// excel文件名
    		String fileName="我报表";
              final SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHH24mmssSSS"); final String formatStr = formatter.format(new Date()); fileName = fileName + formatStr + "." + fileType; System.out.println(fileName); final HSSFWorkbook wb = createHSSFWorkbook(map); // try {// for testing,created the file in server in path "/home/ap/user/domins/user" // final FileOutputStream xlsStream = new FileOutputStream(fileName); // wb.write(xlsStream); // xlsStream.flush(); // xlsStream.close(); // } catch (final Exception e) { // e.printStackTrace(); // } // 响应到客户端 try { // 解决文件乱码 final String userAgent = request.getHeader("user-agent"); if (userAgent != null && userAgent.indexOf("Firefox") >= 0 || userAgent.indexOf("Chrome") >= 0 || userAgent.indexOf("Safari") >= 0) { fileName = new String(fileName.getBytes(), "ISO8859-1"); } else { fileName = URLEncoder.encode(fileName, "UTF8"); // 其他浏览器 } // setResponseHeader(response, fileName); response.reset();// 清除首部的空白行 response.setCharacterEncoding("UTF-8"); response.setContentType("application/vnd.ms-excel;charset=UTF-8"); response.setHeader("Content-Disposition", "attachment;filename=" + fileName); // response.setHeader("Content-Disposition", "inline;filename=" + fileName); response.addHeader("Pargam", "no-cache"); response.addHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.flushBuffer(); final OutputStream os = response.getOutputStream(); // os.write(wb.getBytes()); wb.write(os); os.flush(); os.close(); } catch (final Exception e) { e.printStackTrace(); } }

     2.内容乱码:

    tempContent = new String(tempContent.getBytes("UTF-8"), "ISO-8859-1");
                            // System.out.println(tempContent);
    tempContent = new String(tempContent.getBytes("ISO-8859-1"), "UTF-8");
    cell.setCellValue(tempContent);

    3.download.jsp中编码

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ page import="java.sql.*" %>
    <%@ page import="com.userpackage.*" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    request. setCharacterEncoding("UTF-8");
    //response.setHeader("Content-Type", "charset=UTF-8");
    %>
    <%
    out.clear();
    out = pageContext.pushBody();
    ExcelExport.export(request,response);
    %>


     

  • 相关阅读:
    每日学习
    解决MySQL下把结果导出到文件权限不足问题
    杀死Windows中的进程镜像taskkill /F /IM 镜像名
    大家,中秋节快乐
    学习AutoIt
    为什么你应该(从现在开始就)对自己投资
    验证PE文件数字签名是否有效
    MySQL Cluster集群搭建与测试
    MySQL主从复制与读写分离
    Python与Zabbix API交互配置监控主机
  • 原文地址:https://www.cnblogs.com/pu20065226/p/9804483.html
Copyright © 2011-2022 走看看