Java implements exporting excel files

王林
Release: 2020-10-27 17:14:35
forward
3113 people have browsed it

Java implements exporting excel files

The implementation method is as follows:

(Video tutorial recommendation:java course)

1. First create a new SpringBoot project

2. Import dependencies –pom.xml

  4.0.0  org.springframework.boot spring-boot-starter-parent 2.2.6.RELEASE    com.briup demo3 0.0.1-SNAPSHOT war demo3 Demo project for Spring Boot  1.8    org.springframework.boot spring-boot-starter-web   org.springframework.boot spring-boot-starter-tomcat provided   org.springframework.boot spring-boot-starter-test test   org.junit.vintage junit-vintage-engine     org.apache.poi poi 3.6   javax.servlet servlet-api   log4j log4j        org.springframework.boot spring-boot-maven-plugin    
Copy after login

3. Create various classes

New entity class

Remember to add get/set methods

public class User { private String username; private String email; private String createTime; private String LastLoginTime; private String roleName; private String enable; public User() { super(); } }
Copy after login

Create a new interface Service

import java.util.List; public interface UserService { public List findAllUser(); }
Copy after login

Create a new Impl that implements the Service interface

import java.util.List; public class UserServiceImpl implements UserService { @Override public List findAllUser() { User user = new User(); return null; } }
Copy after login

Create a new ExcelUtil tool class

import java.util.List; import java.util.Map; import org.apache.poi.hssf.usermodel.HSSFCell; import org.apache.poi.hssf.usermodel.HSSFCellStyle; import org.apache.poi.hssf.usermodel.HSSFRow; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; public class ExcelUtil { public static HSSFWorkbook getHSSFWorkbook(String sheetName,String sheetName1,String sheetName2, String []title, String[] content,String[] app){ // 第一步,创建一个HSSFWorkbook,对应一个Excel文件 HSSFWorkbook wb = new HSSFWorkbook(); // 第二步,在workbook中添加一个sheet,对应Excel文件中的sheet HSSFSheet sheet = wb.createSheet(sheetName); HSSFSheet sheet1 = wb.createSheet(sheetName1); HSSFSheet sheet2 = wb.createSheet(sheetName2); // 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制 HSSFRow row = sheet.createRow(0); HSSFRow row1 = sheet1.createRow(0); HSSFRow row2 = sheet2.createRow(0); // 第四步,创建单元格样式,并设置值表头 设置表头居中 HSSFCellStyle style = wb.createCellStyle(); style.setAlignment(HSSFCellStyle.ALIGN_CENTER); // 创建一个居中格式 //声明单元格 HSSFCell cell = null; //创建标题 for(int i=0;i 0){ for(int i=0;i 0){ for(int i=0;i 0){ for(int i=0;i
        
Copy after login

Create a new Controller class

import java.io.OutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.List; import javax.servlet.http.HttpServletResponse; import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; @RestController @RequestMapping("/MyTest") public class HelloController { @ResponseBody @RequestMapping("/hello") public void export(@RequestBody(required = false) User user,String username,HttpServletResponse response) throws Exception { if (user ==null && !StringUtils.isEmpty(username)){ //GET 请求的参数 user = new User(); user.setUsername(username); } UserService userService = new UserServiceImpl(); //获取数据 List list = userService.findAllUser(); //excel标题 String[] title = {"姓名", "邮箱", "创建时间", "最近登录时间","角色","是否可用"}; //excel文件名 String fileName = System.currentTimeMillis() + ".xls"; //sheet名 String sheetName = "用户信息"; String sheetName1 = "hello"; String sheetName2 = "xixi"; //没有数据就传入null吧,Excel工具类有对null判断 String[] content= {"ali","aaa","ddd","aaa","aaa","aaaa"}; String[] app= {"bbbb","bbbb","bbbb","bbbb","bbbb","bbbb",}; if (list != null && list.size() > 0){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < list.size(); i++) { User obj = list.get(i); content[1] = obj.getUsername(); content[1] = obj.getEmail(); content[2] = obj.getCreateTime() == null ? "" : sdf.format(obj.getCreateTime()); content[3] = obj.getLastLoginTime() == null ? "": sdf.format(obj.getLastLoginTime()); content[4] = obj.getRoleName(); } } if (list != null && list.size() > 0){ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); for (int i = 0; i < list.size(); i++) { User obj = list.get(i); app[1] = obj.getUsername(); app[1] = obj.getEmail(); app[2] = obj.getCreateTime() == null ? "" : sdf.format(obj.getCreateTime()); app[3] = obj.getLastLoginTime() == null ? "": sdf.format(obj.getLastLoginTime()); app[4] = obj.getRoleName(); } } //创建HSSFWorkbook HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook(sheetName,sheetName1,sheetName2, title, content,app); // HSSFWorkbook wb1 = ExcelUtil.getHSSFWorkbook(sheetName1, title, content); //响应到客户端 try { fileName = new String(fileName.getBytes(), "UTF-8"); response.setContentType("application/vnd.ms-excel;charset=utf-8"); response.setHeader("Content-Disposition", "attachment; filename=" + fileName); OutputStream os = response.getOutputStream(); wb.write(os); os.flush(); os.close(); } catch (Exception e) { e.printStackTrace(); } } }
Copy after login

Set application .properties
server.port=8081
The most important thing to note is: the Application class must be in the outermost package! ! !

4. The last visit to

localhost:8081/MyTest/hello

resulted:

Java implements exporting excel files

did not write the front end, You can write an html, set an a tag, and click the event.

Related recommendations:Getting started with java

The above is the detailed content of Java implements exporting excel files. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:csdn.net
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!