同样的,看你要导出的Excel后缀是xls格式还是xlsx格式,不同的格式代码稍微有些不同,下面是导出xlsx格式的Excel。

Maven:

 org.apache.poi            poi            3.9org.apache.poi            poi-ooxml            3.9

Controller层

/**     * 导出Excel     * @param pageable     * @param date     * @param response     * @throws IOException     */    @GetMapping("test/export")    public void exportDormCheckScore(@PageableDefault(size = 1000000) Pageable pageable,                                     @RequestParam(value = "date",required = false) String date,                                     HttpServletResponse response) throws IOException {        Page page=testService.findTestList(pageable,date); //分页查询出来的数据        List list=page.getContent(); //获取数据        XSSFWorkbook wb = ExcelUtils.createdTestExcel(list);  //生成Excel文件        //响应到客户端        this.setResponseHeader(response, "测试" + System.currentTimeMillis() + ".xlsx");  //Excel文件命名        OutputStream os = response.getOutputStream();        wb.write(os);        os.flush();        os.close();    }     /**     * 设置响应流     *     * @param response     * @param fileName     */    public void setResponseHeader(HttpServletResponse response, String fileName) throws IOException {        fileName = new String(fileName.getBytes("utf-8"), "ISO-8859-1");        response.setCharacterEncoding("utf-8");        response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");        response.setHeader("Content-Disposition", "attachment;filename=" + fileName);    }

ExcelUtilscreatedTestExcel生成Excel方法:

/** * 创建excel文件 * * @param list * @return */public static XSSFWorkbook createdTestExcel(List list) {XSSFWorkbook workbook = new XSSFWorkbook();XSSFSheet sheet = workbook.createSheet();CellStyle headsStyle = workbook.createCellStyle();// 创建一个居中格式headsStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//设置表头背景颜色headsStyle.setFillForegroundColor(HSSFColor.LIGHT_GREEN.index);headsStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);//下边框headsStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//左边框headsStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//上边框headsStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//右边框headsStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);XSSFFont font = workbook.createFont();font.setFontName("黑体");//设置字体大小font.setFontHeightInPoints((short) 12);headsStyle.setFont(font);XSSFCellStyle borderStyle = workbook.createCellStyle();borderStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER);//下边框borderStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN);//左边框borderStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);//上边框borderStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);//右边框borderStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);XSSFFont borderFont = workbook.createFont();borderFont.setFontName("黑体");//设置字体大小borderFont.setFontHeightInPoints((short) 11);borderStyle.setFont(borderFont);XSSFRow row = sheet.createRow(0);Integer columnNum = 0;//第一行表头字段for (ExportTestColumnsEnum column : ExportTestColumnsEnum.values()) {XSSFCell cell = row.createCell(columnNum);cell.setCellValue(column.getColumnName());cell.setCellStyle(headsStyle);sheet.setColumnWidth(columnNum, 20 * 256);columnNum++;}Integer dataColumnNum = 1;//计算序号的计数器int count=1;  //序号//开始生成数据for (ReturnVO returnVO : list) {XSSFRow rows = sheet.createRow(dataColumnNum);doSetColumnValue(rows, borderStyle, 0, count);  //序号count++;doSetColumnValue(rows, borderStyle, 1, returnVO.getName());  //姓名doSetColumnValue(rows, borderStyle, 2, returnVO.getAge());   //年龄doSetColumnValue(rows, borderStyle, 3, returnVO.getDate()); //出身日期doSetColumnValue(rows, borderStyle, 4,returnVO.getHeight());   //身高dataColumnNum++;}return workbook;}

表头字段枚举类ExportTestColumnsEnum

@Getter@AllArgsConstructorpublic enum ExportTestColumnsEnum {     /**     * 列     */    ROW1("序号"),    ROW2("姓名"),    ROW3("年龄"),    ROW4("性别"),    ROW5("出身日期"),    ROW16("身高"),    ;     private String columnName; }

上面就生成了xlsx格式的Excel文件,至于如何生成xls格式的Excel文件也很简单,只需要把XSSFWorkbook、XSSFSheet、XSSFRow这些以“XSSF”为前缀的改为“HSSF”就可以生成xls版本的Excel文件了。

ashx获取客户端excel文件_Spring Boot实现导出Excel功能相关推荐

  1. excel表头_Spring Boot实现导出Excel功能

    同样的,看你要导出的Excel后缀是xls格式还是xlsx格式,不同的格式代码稍微有些不同,下面是导出xlsx格式的Excel. Maven: org.apache.poi poi 3.9org.ap ...

  2. java写入excel文件内存不足,java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工具框架...

    产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客 ...

  3. 使用PHPExcel实现Excel文件的导入和导出(模板导出)

    在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...

  4. 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)

    前言:在实际的开发中,我们经常需要用户在界面中输入大量重复且有规律的数据,但是一个表单一个表单的填写效率过慢,而且过多的表单也会给JavaWeb的业务逻辑开发带来不小的困扰,所以我们可以使用一个Exc ...

  5. 多個excel文件合并到一個excel文件

    各位大俠下午好:         小弟在把多個由水晶報表導出的excel文件合并到一個excel文件的時候發現有一下問題:         圖片和表格重疊在一起,也就是說報表的圖形遮住了表格文字.如果 ...

  6. php原生读取excel文件夹,原生php实现excel文件读写的方法分析php技巧

    这篇文章主要介绍了原生php实现excel文件读写的方法,结合实例形式分析了采用原生php针对Excel进行读写操作的相关实现方法与操作注意事项,需要的朋友可以参考下 本文实例分析了原生php实现ex ...

  7. 用pandas生成excel文件示例,并调整excel的格式或样式

    用pandas生成excel 当我们有特殊的需求时,比如要修改excel的行宽列宽,还有字体样式等等 需求示例 代码实现 # -*- coding: utf-8 -*- import pandas a ...

  8. php导出excel格式文件,PHP导入与导出Excel文件的方法

    一.PHP导出Excel文件 1,推荐phpexcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003 ...

  9. Spring Boot poi 导出Excel表格、Txt到浏览器下载

    Spring Boot & poi 导出Excel表格.Txt到浏览器下载 原文链接:小回博客 文章目录 Spring Boot & poi 导出Excel表格.Txt到浏览器下载 一 ...

最新文章

  1. 用java怎么实现数据库_用Java实现数据库应用系统
  2. 数据仓库与联机分析处理笔记
  3. 【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】
  4. 20日直播预告丨一则ORA-600案例分析
  5. python最大的社区_python 最大流
  6. 0基础入门前端,会遇到哪些困难?
  7. Python3常用字符串操作
  8. java程序设计 论文_《JAVA程序设计》论文要求
  9. 程序有时能运行有时不能_学法能有什么好处?有时候觉得挺“秃”然的..
  10. ai模仿声音软件_你准备好跟AI机器成为同事了吗?
  11. 入门Sysmac Studio,白菜妹子是这样做的。
  12. SDN(软件定义网络)简史-早期
  13. 吴恩达 - 机器学习课程笔记(持续更新)
  14. 微信小程序全方位深度解析课程Dome-First项目module
  15. NOIP模拟赛20191024 T1 嘟嘟噜【约瑟夫问题的mlogn解法】
  16. 2018 ICPC焦作站 F题 Honeycomb【bfs】
  17. “三无”大学生,就业真难
  18. 关键链项目管理方法的缓冲区管理
  19. (ROS)Moveit编程示例
  20. 服务请求2XX、5XX等错误具体是什么

热门文章

  1. 弹性地基梁板实用计算_强夯地基承载力原理及测试方法
  2. 请简述php循环控制语句,PHP 循环控制语句几种方法详解_PHP教程
  3. tcga数据下载_好东西丨零基础入门TCGA
  4. 【转】log4j 设置将生成的日志进行gz压缩并删除过期日志
  5. if python 判断函数返回值_Python函数的返回值和作用域
  6. php的cookie教程,PHP4之COOKIE支持详解
  7. marbin mysql_跨浏览器图像灰度(grayscale)解决方案
  8. r740服务器增加内存,戴尔R740服务器获取cpu、内存、硬盘参数信息。
  9. 北航java大作业,北航成人继续教育 本科 计算机科学与技术 JAVA——大作业.doc
  10. torch中的topk()函数