十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章主要介绍java实现导出excel文件的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

实现方法如下:
1、首先新建一个SpringBoot项目
2、导入依赖–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
3、建各种类
新建实体类
记得添加get/set方法
public class User {
private String username;
private String email;
private String createTime;
private String LastLoginTime;
private String roleName;
private String enable;
public User() {
super();
}
}新建接口Service
import java.util.List;
public interface UserService {
public List findAllUser();
} 新建实现Service接口的Impl
import java.util.List;
public class UserServiceImpl implements UserService {
@Override
public List findAllUser() {
User user = new User();
return null;
}
} 新建ExcelUtil工具类
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新建Controller类
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();
}
}
} 设置application.properties
server.port=8081
最重要的一定要注意:Application类一定要在最外侧的包中!!!
4、最后访问
localhost:8081/MyTest/hello
结果:

没有写前端,可以写一个html,设置一个a标签,点击事件。
以上是java实现导出excel文件的方法的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联-成都网站建设公司行业资讯频道!
名称栏目:java实现导出excel文件的方法-创新互联
网页地址:http://www.zsjierui.cn/article/dpogps.html