Beispiel #1
0
  /**
   * ** 下载整表,单sheet文件
   *
   * @param model
   * @param request
   * @param response
   * @return
   */
  @RequestMapping(value = "/download_clients", method = RequestMethod.POST)
  public void single(
      Model model,
      HttpServletRequest request,
      HttpServletResponse response,
      String titles,
      String fields,
      String fileName) {

    logger.debug("下载单sheet文件");
    HttpServletRequestUtil.debugParams(request);

    try {
      // 获取类
      List list = this.clientService.downLoadAllClientByUserId(this.getUserId());

      String[] titleNames = Client.getTitlesForDownLoad();
      String[] fieldNames = Client.getFieldsForDownLoad();
      Map<String, Integer> fieldWidths = Client.getWidthsForDownLoad();
      String sheetName = "sheet0";

      WorkbookConfig wcg = new WorkbookConfig();
      wcg.setWorkbookName(fileName);
      wcg.addSheetName(sheetName);
      wcg.addSheetField(sheetName, fieldNames);
      wcg.addSheetTitle(sheetName, titleNames);
      wcg.addSheetWidth(sheetName, fieldWidths);

      HSSFWorkbook wb = ExportUtils.createSingSheetHSSFWorkbook(wcg, list);

      ExportUtils.setHeader(response, fileName);
      // 获取输出流,写入excel 并关闭
      ServletOutputStream out = response.getOutputStream();

      wb.write(out);
      out.flush();
      out.close();

    } catch (Exception e) {
      e.printStackTrace();
    }
  }