- @RequestMapping("exportUserToExcel.do")
- public void exportUserToExcel(UserBean userBean,HttpServletRequest request,HttpServletResponse response) throws Exception{
- SXSSFWorkbook wb = new SXSSFWorkbook(5000);//内存中保留 10000 条数据,以免内存溢出,其余写入 硬盘
- int count = userService.getUserExcelCount(userBean);
- int page = (int) Math.ceil(count / 500000)+1;
- for (int i = 1; i <= page; i++) {
- System.out.println(i);
- userBean.setPage(i);
- userBean.setRows(500000);
- userBean.calculate();
- List<UserBean> userList = userService.getUserExcelList(userBean);
- Sheet sheet = wb.createSheet("sheet"+i);
- Row row = sheet.createRow(0);
- Cell cell = row.createCell(0);
- cell.setCellValue("id");
- cell = row.createCell(1);
- cell.setCellValue("员工姓名");
- cell = row.createCell(2);
- cell.setCellValue("员工性别");
- cell = row.createCell(3);
- cell.setCellValue("开号日期");
- cell = row.createCell(4);
- cell.setCellValue("账号");
- cell = row.createCell(5);
- cell.setCellValue("密码");
- cell = row.createCell(6);
- cell.setCellValue("头像");
- cell = row.createCell(7);
- cell.setCellValue("状态");
- cell = row.createCell(8);
- cell.setCellValue("备注");
- for (int j = 0; j < userList.size(); j++) {
- row = sheet.createRow(j+1);
- row.createCell(0).setCellValue(userList.get(i).getId());
- row.createCell(1).setCellValue(userList.get(j).getName());
- row.createCell(2).setCellValue(userList.get(j).getSex() == 1 ? "男":"女");
- row.createCell(3).setCellValue(userList.get(j).getRegisTime());
- row.createCell(4).setCellValue(userList.get(j).getLoginNumer());
- row.createCell(5).setCellValue(userList.get(j).getPassword());
- row.createCell(6).setCellValue(userList.get(j).getHeadImg());
- row.createCell(7).setCellValue(userList.get(j).getStatusName());
- row.createCell(8).setCellValue(userList.get(j).getRemark());
- }
- }
- FileOutputStream fout = new FileOutputStream("G:\\students.xlsx");
- wb.write(fout);
- System.out.println("完成");
- fout.flush();
- fout.close();
- wb.dispose();
- FileUtil.downloadFile(request, response,"G:\\students.xlsx","测试.xlsx");
- File file = new File("G:\\students.xlsx");
- file.delete();
- }
poi导出大数据 1000万
最新推荐文章于 2023-08-03 18:04:24 发布