SpringBoot入门教程(十四)导出Excel
用Java导出excel。
v修改pom.xml
<dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.14</version> </dependency>
v添加controller
package com.demo.controller; import com.demo.pojo.UserDetails; import com.demo.service.UserService; import org.apache.poi.hssf.usermodel.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.Date; import java.util.List; /** * Created by toutou on 2018/11/3. */ @Controller public class FileController { @Autowired UserService userService; @RequestMapping(value = "export") public void Export(HttpServletResponse response) throws IOException { HSSFWorkbook workbook = new HSSFWorkbook(); HSSFSheet sheet = workbook.createSheet("信息表"); List<UserDetails> classmateList = userService.getUserDetails(); // 设置要导出的文件的名字 String fileName = "users" + new Date() + ".xls"; // 新增数据行,并且设置单元格数据 int rowNum = 1; // headers表示excel表中第一行的表头 在excel表中添加表头 String[] headers = { "id", "uid", "地址", "城市"}; HSSFRow row = sheet.createRow(0); for(int i=0;i<headers.length;i++){ HSSFCell cell = row.createCell(i); HSSFRichTextString text = new HSSFRichTextString(headers[i]); cell.setCellValue(text); } //在表中存放查询到的数据放入对应的列 for (UserDetails item : classmateList) { HSSFRow row1 = sheet.createRow(rowNum); row1.createCell(0).setCellValue(item.getId()); row1.createCell(1).setCellValue(item.getUid()); row1.createCell(2).setCellValue(item.getAddress()); row1.createCell(3).setCellValue(item.getCity()); rowNum++; } response.setContentType("application/octet-stream"); response.setHeader("Content-disposition", "attachment;filename=" + fileName); response.flushBuffer(); workbook.write(response.getOutputStream()); } }
v运行与调试
v源码地址
https://github.com/toutouge/javademosecond/tree/master/hellospringboot
其他参考原文资料:
- HSSFWorkbook (POI API Documentation) http://poi.apache.org/apidocs/dev/org/apache/poi/hssf/usermodel/HSSFWorkbook.html
- JAVA使用POI如何导出百万级别数据 https://blog.csdn.net/happyljw/article/details/52809244
作 者:请叫我头头哥
出 处:http://www.cnblogs.com/toutou/
关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信我
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是作者坚持原创和持续写作的最大动力!