JXL把数据库数据导出为EXCEL文件

JXL把数据库数据导出为EXCEL文件1.第一步:查处数据库信息2.解析为wookbook对象3.保存到服务器提供下载

public String exportMeetingUser() throws NumberFormatException, ServiceException, IOException, RowsExceededException, WriteException { String forward = SUCCESS; // TODO 进行导出操作 // 获取查询条件 String username = this.getParameter("username"); String mobile = this.getParameter("mobile"); String isAdmin = this.getParameter("isAdmin"); String meetingId = this.getParameter("meetingId"); User user = new User(); user.setName(username); user.setMobile(mobile); // 把PAGE_SIZE设置很大 pageSize = 1000; Pager<User> pager = userService.findMeetingUserPager( Long.valueOf(meetingId), user, currentPage, pageSize, isAdmin); log.debug("meeting id is: {}", meetingId); List<User> userList = pager.getPageRecords(); String[] title = { "姓名", "手机号码", "职位(通讯录)", "单位", "房间号", "显示房间号", "性别", "电子邮箱", "城市", "加入通讯录", "显示电话号码", "排序", "职位简称", "显示职位简称" }; // TODO 进行导出的操作 SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss"); String exportFileName = sdf.format(new Date()); // 创建文件夹 File uploadFoldPath = new File(fileSystemService.getDocumentRoot() + this.USER_EXPORT_FOLDER); if (!uploadFoldPath.exists()) { uploadFoldPath.mkdirs(); } // 判断文件是否存在 String fileSaveName = exportFileName + ".xls"; String dstPath = fileSystemService.getDocumentRoot() + this.USER_EXPORT_FOLDER + File.separator + fileSaveName; String from = "WEB"; String documentRoot = fileSystemService.getDocumentRoot(); // DOCUMENT ROOT getRequest().setAttribute("documentRoot", documentRoot); getRequest().setAttribute("from", from); OutputStream os = new FileOutputStream(dstPath); // 再建完这个文件的时候再建立工作文件 jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); int rowIndex = 0; Label label; WritableCellFormat wc = new WritableCellFormat(); wc.setAlignment(Alignment.CENTRE); //wc.set WritableSheet sheet = wwb.createSheet("会议用户导出", 0); label = new Label(2, rowIndex, "此文件为会议云用户导出文件"); sheet.addCell(label); rowIndex++; // 将列标题循环添加到Label中 for (int i = 0; i < title.length; i++) { label = new Label(i, rowIndex, title[i]); sheet.addCell(label); } rowIndex++; // TODO下面是添加数据 if (userList != null && userList.size() > 0) { for (User exportUser : userList) { MeetingMember member = meetingMemberService.selectById( exportUser.getId(), Long.valueOf(meetingId)); exportUser.setMeetingMember(member); // "姓名", "手机号码", "职位(通讯录)", "单位", "房间号", "显示房间号", "性别", // "电子邮箱", "城市", "加入通讯录", "显示电话号码", "排序", "职位简称", "显示职位简称" // 用户名 label = new Label(0, rowIndex, exportUser.getName()); sheet.addCell(label); label = new Label(1, rowIndex, exportUser.getMobile()); sheet.addCell(label); label = new Label(2, rowIndex, exportUser.getMeetingMember() .getJob()); sheet.addCell(label); // 单位 label = new Label(3, rowIndex, exportUser.getMeetingMember() .getDepartment()); sheet.addCell(label); // 房间号 label = new Label(4, rowIndex, exportUser.getMeetingMember() .getRoomNumber()); rowIndex++; } } wwb.write(); wwb.close(); // 现在开始进行下载操作 MeetingFiles meetingFiles = new MeetingFiles(); meetingFiles.setFilePath(this.USER_EXPORT_FOLDER); meetingFiles.setFileName(fileSaveName); meetingFiles.setFileSaveName(fileSaveName); this.getRequest().setAttribute("meetingFiles", meetingFiles); return forward; }


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值