zoukankan      html  css  js  c++  java
  • Java导出Excel文件

     1  /**
     2      * 导出 用get请求
     3      * @param response
     4      * @param
     5      * @throws IOException
     6      */
     7     @RequestMapping(value = "/download")
     8     public void download(HttpServletResponse response,HttpServletRequest request) throws IOException {
     9 
    10         int quality = UtilReq.parseInt(request.getParameter("quality"), -1);
    11         String status = UtilReq.parseString(request.getParameter("status"),"");
    12         String mobile = UtilReq.parseString(request.getParameter("mobile"),"");
    13         long agentUid = UtilReq.parseLong(request.getParameter("agentUid"),0l);
    14         HSSFWorkbook workbook = aritstService.download(quality,status,mobile,agentUid);
    15 
    16         //设置要导出的文件的名字
    17         String fileName="";
    18         Date now = new Date();
    19 
    20         fileName = "艺人数据" + UtilDate.formatDate2Str(now,"yyyy年MM月dd日HH时mm分ss秒") + ".xls";
    21 
    22         fileName = new String(fileName.getBytes("gbk"), "iso-8859-1");
    23         response.setContentType("application/octet-stream");
    24         response.setHeader("Content-disposition", "attachment;filename=" + fileName);
    25         response.flushBuffer();
    26         workbook.write(response.getOutputStream());
    27     }
     1 /**
     2      * 导出
     3      * @param quality
     4      * @param status
     5      * @param mobile
     6      * @param agentUid
     7      * @return
     8      */
     9     public HSSFWorkbook download(int quality, String status, String mobile, long agentUid) {
    10         //创建
    11         HSSFWorkbook wb = new HSSFWorkbook();
    12         //headers表示excel表中第一行的表头
    13         String[] headers = {"姓名","邀请码","所属经纪人","经纪人手机号", "总收入金额", "接单数", "成单数","满意度","优质艺人"};
    14         //创建一个只有头信息的空表
    15         HSSFSheet sheet = null;
    16         sheet = wb.createSheet("艺人数据");
    17 
    18         //headers表示excel表中第一行的表头
    19         HSSFRow row = sheet.createRow(0);
    20 
    21         //在excel表中添加表头
    22         for(int i=0;i<headers.length;i++){
    23             HSSFCell cell = row.createCell(i);
    24             HSSFRichTextString text = new HSSFRichTextString(headers[i]);
    25             cell.setCellValue(text);
    26         }
    27 
    28         //查询艺人列表,根据筛选条件
    29         List<Integer> statusList = null;
    30         if ("".equals(status)){
    31             status = "1,2";
    32         }
    33         if (StringUtils.isNotEmpty(status)) {
    34             statusList = new ArrayList<>();
    35             String[] statuss = status.split(",");
    36             for (String statu : statuss) {
    37                 statusList.add(Integer.parseInt(statu));
    38             }
    39         }
    40         //需要导出的数据
    41         List<Aritst> aritsts = aritstDao.selectArtistByAgentAndMobile(statusList, mobile, agentUid,quality, null,null,null);
    42 
    43         int rowNum = 1;
    44         if (null != aritsts) {
    45             //在表中存放查询到的数据放入对应的列
    46             for (Aritst aritst : aritsts) {
    47                 HSSFRow row1 = sheet.createRow(rowNum);
    48                 //"姓名","邀请码","所属经纪人","经纪人手机号", "总收入金额", "接单号", "成单数","满意度","是否优质艺人"
    49 
    50                 row1.createCell(0).setCellValue(aritst.getNickname());
    51                 row1.createCell(1).setCellValue(aritst.getInviteCode());
    52                 row1.createCell(2).setCellValue(aritst.getAgent());
    53                 row1.createCell(3).setCellValue(aritst.getAgentMobile());
    54                 row1.createCell(4).setCellValue(aritst.getRevenue());
    55                 row1.createCell(5).setCellValue(aritst.getConnectionnum());
    56                 row1.createCell(6).setCellValue(aritst.getServernum());
    57                 row1.createCell(7).setCellValue(aritst.getSatisfiedRate());
    58                 row1.createCell(8).setCellValue(aritst.getQuality()==1?"是":"否");
    59                 rowNum++;
    60             }
    61         }
    62         return wb;
    63     }
  • 相关阅读:
    数据切分——Mysql分区表的建立及性能分析
    MySQL性能优化的21个最佳实践 和 mysql使用索引
    MySQL性能优化的21个最佳实践 和 mysql使用索引
    mysql分表的3种方法
    mysql分表的3种方法
    css3基本属性
    elemet-ui图标—特殊字符的unicode编码表
    css属性之统一设置文本及div之间的对齐方式
    vue-cli创建项目
    element-ui修改全局样式且只作用于当前页面
  • 原文地址:https://www.cnblogs.com/zhanglingbing/p/10979286.html
Copyright © 2011-2022 走看看