对于刚入门的小伙伴,对于excel的导出需要经常使用到,公司基本上都会有excel导出工具,然而对于还没工作的小伙伴,没有机会接触这些,恰好又不会写,可以借鉴一下,虽然代码有点多,但是简单,也能实现该功能。首先在这里我们用到两个jar包
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>4.0.0</version>
</dependency>
版本号自己看着更改,接下来我们就要来说怎么来实现导出excel了,我们将查询到的结果放在一个list里面,将对应的值放进去,看如下代码
import cn.com.edu.nyist.biz.StudentBiz;
import cn.com.edu.nyist.biz.TClassBiz;
import cn.com.edu.nyist.biz.TeacherBiz;
import cn.com.edu.nyist.model.Student;
import cn.com.edu.nyist.model.TClass;
import cn.com.edu.nyist.model.Teacher;
@Controller
public class ExcelExportController {
@Autowired
private TeacherBiz teacherBiz;
@Autowired
private StudentBiz studentBiz;
@Autowired
private TClassBiz tClassBiz;
@RequestMapping("exportTeacher")
public void export(HttpServletRequest request,HttpServletResponse response) throws Exception {
String file ="教师信息.xls";
response.setContentType(request.getServletContext().getMimeType(file));
response.setHeader("Content-Disposition",
"attachment; filename=\"" + file + "\"; filename*=utf-8' ' " + URLEncoder.encode(file, "utf-8"));
//声明一个工作簿
HSSFWorkbook hwb = new HSSFWorkbook();
//声明一个单子并命名
HSSFSheet sheet = hwb.createSheet("教师信息");
//给单子名称一个长度
sheet.setDefaultColumnWidth((short)15);
//生成一个样式
HSSFCellStyle style = hwb.createCellStyle();
//创建第一行(也可以成为表头)
HSSFRow row = sheet.createRow(0);
//样式字体居中
//style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//给表头第一行一次创建单元格
HSSFCell cell = row.createCell((short) 0);
cell.setCellValue("姓名");
cell.setCellStyle(style);
cell = row.createCell((short)1);
cell.setCellValue("员工号");
cell.setCellStyle(style);
cell = row.createCell((short)2);
cell.setCellValue("入职时间");
cell.setCellStyle(style);
List<Teacher> ls= teacherBiz.findAll();
for(short i=0;i<ls.size();i++){
row =sheet.createRow(i+1);
row.createCell(0).setCellValue(ls.get(i).getName());
row.createCell(1).setCellValue(ls.get(i).getNum());
row.createCell(2).setCellValue(ls.get(i).getPubdate());
}
hwb.write(response.getOutputStream());
hwb.close();
}
}
所有东西照着抄就行,只需要把里面对应的数据修改一下即可,到这就能实现导出excel功能了,能用此实现功能的小伙伴欢迎评论转发