900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > csv导出文件名乱码解决

csv导出文件名乱码解决

时间:2022-02-04 04:07:07

相关推荐

csv导出文件名乱码解决

public void exportCsv(ExamineDTO examineDTO, HttpServletRequest request, HttpServletResponse response) throws ServiceException {try {// 文件名String fileName = "报表导出_" + System.currentTimeMillis() + ".csv";String excelName = excelName(fileName, request);response.setContentType("application/octet-stream;charset=ISO8859-1");response.setHeader("Content-Disposition", "attachment;filename=" + excelName);response.addHeader("Pargam", "no-cache");response.addHeader("Cache-Control", "no-cache");// 查询具体数据List<String[]> list = this.examineDao.queryExamineCsvReportList(examineDTO);CSVUtil.write(response, list);} catch (ServiceException e) {logger.error("报表数据导出异常,异常信息为:{}", e.getMessage(), e);throw new ServiceException("报表数据导出异常", e.getMessage(), e);}}

private String excelName(String name, HttpServletRequest request) throws ServiceException {String userAgent = request.getHeader("USER-AGENT");String ie = "MSIE";String ie11 = "like Gecko";String mozilla = "Mozilla";String excelName = CommonDTO.EMPTY_STRING;try {// IE浏览器if (userAgent.contains(ie) || userAgent.contains(ie11)) {excelName = URLEncoder.encode(name, "UTF8");// google,火狐浏览器} else if (userAgent.contains(mozilla)) {excelName = new String(name.getBytes(), "ISO8859-1");// 其他浏览器} else {excelName = URLEncoder.encode(name, "UTF8");}} catch (Exception e) {logger.error("csv文件名编码转换异常,异常信息为:{}", e.getMessage());throw new ServiceException("先审后发报表数据导出异常", e.getMessage(), e);}return excelName;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。