首先引入依赖
<!-- 导出excel-->
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.14</version>
</dependency>
不解释了,直接上代码!
@RestController
@RequestMapping("/")
public class UserController {
@Autowired
private UserService userService;
@Autowired
HttpServletResponse httpServletResponse;
@RequestMapping(value = "UserExcelDownloads",method = RequestMethod.GET)
public void selectUser(User user) throws IOException {
//ReturnPojo returnPojo = new ReturnPojo();
List<User> userList = userService.selectUser(user);
//returnPojo.setData(userList);
HSSFWorkbook workbook = new HSSFWorkbook();//创建HSSFWorkbook对象, excel的文档对象
HSSFSheet sheet = workbook.createSheet("信息表"); //excel的表单
String fileName = "userinf" + ".xls";//设置要导出的文件的名字
//新增数据行,并且设置单元格数据
int rowNum = 1;
String[] headers = {"手机号", "密码", "姓名", "图像", "余额", "佣金", "积分", "开团积分", "兑换卷", "我的邀请码", "邀请我的邀请码", "总花费", "会员等级", "微信登录的唯一标识", "有效标志", "修改时间", "创建时间"};
//headers表示excel表中第一行的表头
HSSFRow row = sheet.createRow(0);
//在excel表中添加表头
for (int i = 0; i < headers.length; i++) {
HSSFCell cell = row.createCell(i);
HSSFRichTextString text = new HSSFRichTextString(headers[i]);
cell.setCellValue(text);
}
//在表中存放查询到的数据放入对应的列
for (User user1 : userList) {
HSSFRow row1 = sheet.createRow(rowNum);
// 与上面headers对应上
row1.createCell(0).setCellValue(user1.getTel());
row1.createCell(1).setCellValue(user1.getPassword());
row1.createCell(2).setCellValue(user1.getNickName());
row1.createCell(3).setCellValue(user1.getPhoto());
row1.createCell(4).setCellValue(user1.getBalance());
row1.createCell(5).setCellValue(user1.getCommission());
row1.createCell(6).setCellValue(user1.getIntegral());
row1.createCell(7).setCellValue(user1.getKtIntegral());
row1.createCell(8).setCellValue(user1.getVouchers());
row1.createCell(9).setCellValue(user1.getRecommended());
row1.createCell(10).setCellValue(user1.getInvitation());
row1.createCell(11).setCellValue(user1.getAllCost());
row1.createCell(12).setCellValue(user1.getVip());
row1.createCell(13).setCellValue(user1.getWxId());
row1.createCell(14).setCellValue(user1.getFlag());
row1.createCell(15).setCellValue(user1.getUpdateTime());
row1.createCell(16).setCellValue(user1.getCreateTime());
rowNum++;
}
httpServletResponse.setContentType("application/octet-stream");
httpServletResponse.setHeader("Content-disposition", "attachment;filename=" + fileName);
httpServletResponse.flushBuffer();
workbook.write(httpServletResponse.getOutputStream());
}
}
我这个是springboot项目,所以直接网页上请求链接,导出excel