BaseController.java 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. package net.lab1024.smartadmin.common.controller;
  2. import lombok.extern.slf4j.Slf4j;
  3. import org.apache.poi.ss.usermodel.Workbook;
  4. import javax.servlet.http.HttpServletResponse;
  5. import java.io.IOException;
  6. import java.io.UnsupportedEncodingException;
  7. import java.net.URLEncoder;
  8. /**
  9. * @author: zhuoda
  10. * @create: 2020-03-31 08:54 PM from win10
  11. */
  12. @Slf4j
  13. public class BaseController {
  14. /**
  15. * 下载 Excel 消息头
  16. * @param fileName
  17. * @param workbook
  18. * @param response
  19. */
  20. public void downloadExcel(String fileName, Workbook workbook, HttpServletResponse response) {
  21. try {
  22. fileName = URLEncoder.encode(fileName, "UTF-8");
  23. } catch (UnsupportedEncodingException e) {
  24. log.error("", e);
  25. }
  26. response.setCharacterEncoding("utf-8");
  27. response.setHeader("Content-Type", "application/vnd.ms-excel");
  28. response.setHeader("Content-Disposition", "attachment;filename=" + fileName + ".xls");
  29. try {
  30. workbook.write(response.getOutputStream());
  31. workbook.close();
  32. } catch (IOException e) {
  33. log.error("", e);
  34. }
  35. }
  36. }