51Testing软件测试论坛

标题: 使用postman测试下载xls文件,下载的文件名出现中文乱码 [打印本页]

作者: 测试积点老人    时间: 2022-2-24 11:16
标题: 使用postman测试下载xls文件,下载的文件名出现中文乱码
使用postman测试下载xls文件,下载的文件名出现中文乱码
  1. public void exportTeam(AdminInfo adminInfo, SelectTeamDTO dto, HttpServletRequest request, HttpServletResponse response) {

  2.         //导出时取消分页
  3.         dto.setPageSize(Integer.MAX_VALUE);
  4.         dto.setPageIndex(1);

  5.         //查询数据
  6.         BasePageResponse<SelectTeamVO> teamList = teamManageService.selectTeamPage(adminInfo, dto.getTeamName(), dto.getPageIndex(), dto.getPageSize());
  7.         List<SelectTeamVO> records = teamList.getRecords();
  8.         List<SelectTeamVO> vos = new ArrayList<>();

  9.         //设置属性
  10.         records.forEach(p -> {
  11.             SelectTeamVO vo = new SelectTeamVO();
  12.             BeanUtils.copyProperties(p, vo);
  13.             vos.add(vo);
  14.         });

  15.         String sheetName = ExportSheetNameEnum.team_sheet;
  16.         String fileName = sheetName + ".xls";
  17.         String[] title = ExportTitleEnum.teamList_title;

  18.         String[][] values = new String[vos.size()][title.length];
  19.         for (int i = 0; i < vos.size(); i++) {
  20.             values[i] = new String[title.length];
  21.             SelectTeamVO vo = vos.get(i);
  22.             values[i][0] = vo.getTeamName();
  23.             values[i][1] = vo.getTeamType();
  24.             values[i][2] = vo.getProjectName();
  25.             values[i][3] = vo.getLeaderName();
  26.             values[i][4] = vo.getTeamTypeNo();
  27.         }

  28.        //初始化表格设置
  29.         Map<String, Object> map = ExcelUtil.exportFirstSet(sheetName, title);
  30.         HSSFRow row = (HSSFRow) map.get("HSSFRow");
  31.         HSSFSheet sheet = (HSSFSheet) map.get("HSSFSheet");
  32.         HSSFWorkbook wb = (HSSFWorkbook) map.get("HSSFWorkbook");
  33.         //创建内容
  34.         for (int i = 0; i < values.length; i++) {
  35.             row = sheet.createRow(i + 1);
  36.             for (int j = 0; j < values[i].length; j++) {
  37.                 row.createCell(j).setCellValue(values[i][j]);
  38.             }
  39.         }
  40.         //设置样式
  41.         ExcelUtil.setHeightWidth(values, null, null, row, sheet);
  42.         //响应到客户端
  43.         try {
  44.             ExcelUtil.setResponseHeader(response, request, fileName);
  45.             OutputStream os = response.getOutputStream();
  46.             wb.write(os);
  47.             os.flush();
  48.             os.close();
  49.         } catch (Exception e) {
  50.             e.printStackTrace();
  51.         }

  52.     }
复制代码



作者: qqq911    时间: 2022-2-25 10:22
编码格式的问题
作者: jingzizx    时间: 2022-2-25 15:39
一般是编码格式问题
作者: mxl547619202021    时间: 2022-2-25 16:28
UFT-8




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2