大家好,我是给著名程序员羊羽,今天给大家聊的是SpringBoot+POI导出Excel表格。
页面表格导出Excel是常见的一个需求,可以用前端直接导出也可以经过后端处理后导出,今天我要给大家说的是用后端导出Excel表格。
所需工具/软件/框架
1,eclipse/IDEA;
2,SpringBoot
3,Maven
4,Vue
详细步骤
![6b03220b69e0aa73ebedbc899e55922a.png](https://i-blog.csdnimg.cn/blog_migrate/4463ccf87c6beaacc1fd0e946e345a86.jpeg)
1,新建一个SpringBoot工程,我想这个应该不用我说了,大家都是有经验的开发人员。
![38e7bda1614373c8badc13cf8150e5cf.png](https://i-blog.csdnimg.cn/blog_migrate/0b738482ad6f049e57b6083da2301676.jpeg)
2,在resource目录下新建一个public文件夹(SpringBoot知识,不懂去问度娘);
![67bdbbf4b1cce23c674f7dcf4e76bbf5.png](https://i-blog.csdnimg.cn/blog_migrate/a1e51b749d32e441e2192c8214ee13b8.jpeg)
3,public中新建pages文件夹(随意起)引入vue.js
![c9e98f953d392f28bec40bc12bd7acca.png](https://i-blog.csdnimg.cn/blog_migrate/16e60121d08102bdefa42fbbce7d1e37.jpeg)
4,在public下创建一个index.html
![d0575569d464a13d3b85232ddd81a0e2.png](https://i-blog.csdnimg.cn/blog_migrate/daf9d9188828bd94a78698f7311409d9.jpeg)
5,新建一个domian包并创建一个学生类
![1ac7c7b0d90a977a7f59541cda2d1d02.png](https://i-blog.csdnimg.cn/blog_migrate/4104ac024152b11437ffd8fe59595768.jpeg)
6,学生类中创建两个属性并重载构造函数
![015543f2984019d002ee3702b8f565ce.png](https://i-blog.csdnimg.cn/blog_migrate/5e61d3aa638f62d2204c6363192f9926.jpeg)
7,新建一个controller包并创建一个ExcelExport类
![64be11bdc6d69203667d3cae11cedd1c.png](https://i-blog.csdnimg.cn/blog_migrate/80f05887a8fbea22c26b22c0669e26df.jpeg)
8,ExcelExport类中定义一个excelExport方法
![b94a7e741d6646db1266bf8a29d90658.png](https://i-blog.csdnimg.cn/blog_migrate/ff68fdbe4ba83f152660ac9264f36be9.jpeg)
9,excelExport方法中就是用来处理表格导出的逻辑
public void excelExport(HttpServletResponse response){ //1,模拟创建数据 List students = new ArrayList<>(); students.add( new Student("张三","男")); students.add( new Student("小红","女")); //2,创建数据表格 //2,创建excel 写到excel中 HSSFWorkbook wb = new HSSFWorkbook(); HSSFSheet sheet = wb.createSheet("学生统计"); //创建第一行 HSSFRow row = sheet.createRow(0); HSSFCell cell0 = row.createCell(0); HSSFCell cell1 = row.createCell(1); cell0.setCellValue("姓名"); cell1.setCellValue("性别"); HSSFRow surveyRow = null; //从集合中获取数据 for (int i = 0; i < students.size(); i++) { Student student = students.get(i); surveyRow = sheet.createRow(i + 1); surveyRow.createCell(0).setCellValue(student.getName()); surveyRow.createCell(1).setCellValue(student.getGender()); } //3,响应给浏览器 try { String fileName = new String("学生性别统计.xls".getBytes("utf-8"),"iso8859-1"); response.setHeader("content-Disposition", "attachment;filename="+fileName); wb.write(response.getOutputStream()); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
![8992befb8e601a752bea954cf21df39b.png](https://i-blog.csdnimg.cn/blog_migrate/34d5f54d4b791943d9696f01bc0ddb97.jpeg)
10,在index.html页面中定义一个button导出表格
导出表格
点击导出表格
11,点击导出按钮之后,就会下载excel文件了,下载成功后点击打开就行
![19cbbdefbbfdc62a7d73d923bc63f960.png](https://i-blog.csdnimg.cn/blog_migrate/b3f07a57c319fa929ba5f83654c28bf5.jpeg)
12,教程结束,收工!
最后
如果看完后有不懂的地方,可以私信来问我,有问必答!
动动你的小手给个赞、评论、转发、收藏,如果可以欢迎打赏!