ashx获取客户端excel文件_Spring Boot实现导出Excel功能
同样的,看你要导出的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); }
ExcelUtils的createdTestExcel生成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功能相关推荐
- excel表头_Spring Boot实现导出Excel功能
同样的,看你要导出的Excel后缀是xls格式还是xlsx格式,不同的格式代码稍微有些不同,下面是导出xlsx格式的Excel. Maven: org.apache.poi poi 3.9org.ap ...
- java写入excel文件内存不足,java 导出 excel 最佳实践,java 大文件 excel 避免OOM(内存溢出) excel 工具框架...
产品需求 产品经理需要导出一个页面的所有的信息到 EXCEL 文件. 需求分析 对于 excel 导出,是一个很常见的需求. 最常见的解决方案就是使用 poi 直接同步导出一个 excel 文件. 客 ...
- 使用PHPExcel实现Excel文件的导入和导出(模板导出)
在之前有写过一篇文章讲述了使用PHP快速生成excel表格文件并下载,这种方式生成Excel文件,生成速度很快,但是有缺点是: 1.单纯的生成Excel文件,生成的文件没有样式,单元格属性(填充色,宽 ...
- 【JavaWeb开发】使用java实现简单的Excel文件的导入与导出(POI)
前言:在实际的开发中,我们经常需要用户在界面中输入大量重复且有规律的数据,但是一个表单一个表单的填写效率过慢,而且过多的表单也会给JavaWeb的业务逻辑开发带来不小的困扰,所以我们可以使用一个Exc ...
- 多個excel文件合并到一個excel文件
各位大俠下午好: 小弟在把多個由水晶報表導出的excel文件合并到一個excel文件的時候發現有一下問題: 圖片和表格重疊在一起,也就是說報表的圖形遮住了表格文字.如果 ...
- php原生读取excel文件夹,原生php实现excel文件读写的方法分析php技巧
这篇文章主要介绍了原生php实现excel文件读写的方法,结合实例形式分析了采用原生php针对Excel进行读写操作的相关实现方法与操作注意事项,需要的朋友可以参考下 本文实例分析了原生php实现ex ...
- 用pandas生成excel文件示例,并调整excel的格式或样式
用pandas生成excel 当我们有特殊的需求时,比如要修改excel的行宽列宽,还有字体样式等等 需求示例 代码实现 # -*- coding: utf-8 -*- import pandas a ...
- php导出excel格式文件,PHP导入与导出Excel文件的方法
一.PHP导出Excel文件 1,推荐phpexcel,官方网站: http://www.codeplex.com/PHPExcel 导入导出都成,可以导出office2007格式,同时兼容2003 ...
- Spring Boot poi 导出Excel表格、Txt到浏览器下载
Spring Boot & poi 导出Excel表格.Txt到浏览器下载 原文链接:小回博客 文章目录 Spring Boot & poi 导出Excel表格.Txt到浏览器下载 一 ...
最新文章
- 用java怎么实现数据库_用Java实现数据库应用系统
- 数据仓库与联机分析处理笔记
- 【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】
- 20日直播预告丨一则ORA-600案例分析
- python最大的社区_python 最大流
- 0基础入门前端,会遇到哪些困难?
- Python3常用字符串操作
- java程序设计 论文_《JAVA程序设计》论文要求
- 程序有时能运行有时不能_学法能有什么好处?有时候觉得挺“秃”然的..
- ai模仿声音软件_你准备好跟AI机器成为同事了吗?
- 入门Sysmac Studio,白菜妹子是这样做的。
- SDN(软件定义网络)简史-早期
- 吴恩达 - 机器学习课程笔记(持续更新)
- 微信小程序全方位深度解析课程Dome-First项目module
- NOIP模拟赛20191024 T1 嘟嘟噜【约瑟夫问题的mlogn解法】
- 2018 ICPC焦作站 F题 Honeycomb【bfs】
- “三无”大学生,就业真难
- 关键链项目管理方法的缓冲区管理
- (ROS)Moveit编程示例
- 服务请求2XX、5XX等错误具体是什么
热门文章
- 弹性地基梁板实用计算_强夯地基承载力原理及测试方法
- 请简述php循环控制语句,PHP 循环控制语句几种方法详解_PHP教程
- tcga数据下载_好东西丨零基础入门TCGA
- 【转】log4j 设置将生成的日志进行gz压缩并删除过期日志
- if python 判断函数返回值_Python函数的返回值和作用域
- php的cookie教程,PHP4之COOKIE支持详解
- marbin mysql_跨浏览器图像灰度(grayscale)解决方案
- r740服务器增加内存,戴尔R740服务器获取cpu、内存、硬盘参数信息。
- 北航java大作业,北航成人继续教育 本科 计算机科学与技术 JAVA——大作业.doc
- torch中的topk()函数