POI导出Excel文件,浏览器点击可下载

说明:使用SpringMVC+POI

1:服务端代码

/**
   * 导出日志查询列表
   */
  @RequestMapping(value = "/log_excel")
  public void exportLogList(HttpServletRequest request, OperationLog vo, @RequestParam(value = "pageNo", required = false) Integer pageNo,HttpServletResponse response) throws CodeException {
      try {
          HSSFWorkbook workbook = new HSSFWorkbook();
          HSSFSheet sheet = workbook.createSheet("日志信息列表");
          HSSFRow headRow = sheet.createRow(0);
          
          //这是一些要导出列的标题
          String[] title = new String[] { "ID","操作时间"};
          for (int i = 0; i < title.length; i++) {
              headRow.createCell(i).setCellValue(title[i]);
          }
          //要导出的数据对象集合
          List<OperationLog> list = page.getBeans();
          if (list != null && list.size() > 0) {
              for (OperationLog log : list) {
                  HSSFRow dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
                  this.setCellStyle(workbook,dataRow.createCell(0),log.getId());
                  this.setCellStyle(workbook,dataRow.createCell(1),new SimpleDateFormat("yyyy-MM-dd").format(log.getCreateTime()));
              }
          }
          sheet.autoSizeColumn(1, true);
          //对象置空
          list = null;
          response.reset();
          response.setContentType("application/ms-excel;charset=UTF-8");
          response.setHeader("Content-Disposition", "attachment;filename=".concat(String.valueOf(URLEncoder.encode("日志信息列表.xls", "UTF-8"))));
          try {
              workbook.write(response.getOutputStream());
              response.getOutputStream().flush();
          } catch (Exception e) {
              sysLog.error("日志列表Excel导出出错", e);
              throw e;
          }finally{
              if(workbook!=null){
                  workbook.close();
              }
              if(response.getOutputStream()!=null){
                  response.getOutputStream().close();
              }
          }
      } catch (CodeException ce) {
          sysLog.error("日志列表Excel导出出错", ce);
          throw ce;
      } catch (Exception e) {
          sysLog.error("日志列表Excel导出出现系统错误", e);
          throw new CodeException(CodeConstants.SYS_ERROR, new Object[] { "日志列表Excel导出出现系统错误" }, e);
      }
  }
  public HSSFCell setCellStyle(HSSFWorkbook workbook,HSSFCell cell,String value){
      HSSFCellStyle cellStyle = workbook.createCellStyle();  
      HSSFDataFormat format = workbook.createDataFormat();  
      cellStyle.setDataFormat(format.getFormat("@"));  
      cell.setCellStyle(cellStyle);
      cell.setCellValue(value);
      return cell;
  }

浏览器请求代码

//当点击下面元素的时候,请求该映射路径,然后就会弹出下载框
 $("#QueryExcel").click(function(){
     $("#QueryForm").attr("action","${root}/logManagement/001/log_excel.do");
     $("#QueryForm").submit();
 });

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值