将查询的集合导出为Excel文件

发布时间:2026/11/8 20:54:06

将查询的集合导出为Excel文件 第一个是前台的script的代码第二个是servlet中控制xml下载的代码这里直接复制黏贴拿来修改一下就好了可以设置一个按钮访问这个servletmethodexportXls就可以啦function exportXls(){ var empId$(#empId).val(); var deptNo$(#deptNo).val(); var dtdate$(#dtdate).val(); location.hrefservlet/DutyServlet?methodexportXlsempIdempIddeptNodeptNodtdatedtdate; }public void exportXls(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //接收网页中参数 String empIdrequest.getParameter(empId); if(empIdnull){ empId; } String cdeptNorequest.getParameter(deptNo); int deptNo0; try{ deptNoInteger.parseInt(cdeptNo); }catch (Exception e){ } String dtdaterequest.getParameter(dtdate); if(dtdatenull){ dtdate; } DutyService dutyServicenew DutyServiceImple(); //查询数据库将所有符合的信息放到一个集合中 ListDutydutyListdutyService.find(empId,deptNo,dtdate); //调用该方法传一个集合和response响应 createExcel(dutyList,response); } private void createExcel(ListDuty dutyList, HttpServletResponse response) { // 创建一个Excel文件 HSSFWorkbook workbook new HSSFWorkbook(); // 创建一个工作表 HSSFSheet sheet workbook.createSheet(签到表一); CellRangeAddress region new CellRangeAddress(0, // first row 0, // last row 0, // first column 2 // last column ); sheet.addMergedRegion(region); HSSFRow hssfRow sheet.createRow(0); HSSFCell headCell hssfRow.createCell(0); headCell.setCellValue(员工签到表); // 设置单元格格式居中 HSSFCellStyle cellStyle workbook.createCellStyle(); cellStyle.setAlignment(HSSFCellStyle.ALIGN_CENTER); /* cellStyle.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND); // cellStyle.setFillBackgroundColor(HSSFColor.GREEN.index); cellStyle.setFillForegroundColor(HSSFColor.GREEN.index); HSSFFont font workbook.createFont(); font.setFontName(楷体); //字体 font.setFontHeightInPoints((short)30); //字体大小 font.setColor(HSSFColor.RED.index);//颜色 font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);//加粗 font.setItalic(true); //倾斜 cellStyle.setFont(font); */ headCell.setCellStyle(cellStyle); // 添加表头行 hssfRow sheet.createRow(1); // 添加表头内容 headCell hssfRow.createCell(0); headCell.setCellValue(用户名); headCell.setCellStyle(cellStyle); headCell hssfRow.createCell(1); headCell.setCellValue(真实姓名); headCell.setCellStyle(cellStyle); headCell hssfRow.createCell(2); headCell.setCellValue(所属部门); headCell.setCellStyle(cellStyle); headCell hssfRow.createCell(3); headCell.setCellValue(出勤日期); headCell.setCellStyle(cellStyle); headCell hssfRow.createCell(4); headCell.setCellValue(签到时间); headCell.setCellStyle(cellStyle); headCell hssfRow.createCell(5); headCell.setCellValue(签退时间); headCell.setCellStyle(cellStyle); // 添加数据内容 for (int i 0; i dutyList.size(); i) { hssfRow sheet.createRow((int) i 2); Duty duty dutyList.get(i); // 创建单元格并设置值 HSSFCell cell hssfRow.createCell(0); cell.setCellValue(duty.getEmpId()); cell.setCellStyle(cellStyle); cell hssfRow.createCell(1); cell.setCellValue(duty.getEmployee().getRealName()); cell.setCellStyle(cellStyle); cell hssfRow.createCell(2); cell.setCellValue(duty.getDept().getDeptName()); cell.setCellStyle(cellStyle); cell hssfRow.createCell(3); cell.setCellValue(duty.getDtDate()); cell.setCellStyle(cellStyle); cell hssfRow.createCell(4); cell.setCellValue(duty.getSignInTime()); cell.setCellStyle(cellStyle); cell hssfRow.createCell(5); cell.setCellValue(duty.getSignOutTime()); cell.setCellStyle(cellStyle); } // 保存Excel文件 try { response.setContentType(application/vnd.ms-excel); response.setHeader(Content-disposition,attachment;filenameduty.xls); OutputStream outputStream response.getOutputStream(); workbook.write(outputStream); outputStream.close(); } catch (Exception e) { e.printStackTrace(); } }
延伸阅读

更多相关文章

2026/11/7 23:53:09

Palworld存档修复工具:告别角色丢失,轻松迁移游戏数据

Palworld存档修复工具:告别角色丢失,轻松迁移游戏数据 【免费下载链接】palworld-host-save-fix Fixes the bug which forces a player to create a new character when they already have a save. Useful for migrating maps from co-op to dedicated s…

2026/10/31 22:48:31

200+插件一站式增强:HF Patch带你解锁《恋活!》完整潜力

200插件一站式增强:HF Patch带你解锁《恋活!》完整潜力 【免费下载链接】KK-HF_Patch Automatically translate, uncensor and update Koikatu! and Koikatsu Party! 项目地址: https://gitcode.com/gh_mirrors/kk/KK-HF_Patch 你是否曾经觉得《恋…

2026/11/8 20:51:59

东莞电工证办理怎么转异地?学历不高怕报不上名?电子证书了解一下

东莞电工证办理怎么转异地?学历不高怕报不上名?电子证书了解一下 你是不是也担心自己学历不够,连个电工证都考不上?别急,今天咱们就来聊聊【东莞电工证办理】这事儿,特别是那些想转异地的伙伴,还有那些觉得学历不高、担心被拒的朋友们,电子证书了解一…

2026/11/8 20:51:59

电工证密码的样板照片怎么拍?保姆级教程来了,别再被坑了!

电工证密码的样板照片怎么拍?保姆级教程来了,别再被坑了! 你是不是也遇到过这种情况?刚找到电工相关的工作,单位却要求提供电工证密码的样板照片,一问才知道是用于系统审核或备案,结果你手忙脚乱,连照片怎么拍都不知道。别急,这篇保姆级教程,专门给…

2026/11/8 20:51:59

电工证核发机构实操考试考什么?郑州报考避坑指南

电工证核发机构实操考试考什么?郑州报考避坑指南 证书过期了不知道怎么复审延期,很多人在面临这个情况时,心里直打鼓,不知道从哪里开始,怕耽误工作,更怕被单位处罚。尤其是在郑州这样的城市,很多电工从业者一旦证书过期,就面临被停岗甚至失业的风险。…

2026/11/8 20:51:59

中山电工证报考费多少钱良心建议别踩坑

中山电工证报考费多少钱良心建议别踩坑 证书过期了不知道怎么复审延期,现在补办流程复杂,费用也比之前涨了不少,很多人都不知道该怎么办,更别提中山电工证报考费具体是多少了。作为在开封房建工程一线干了七八年的老电工,我见过太多因为证件过期被停工、…

2026/11/8 20:51:59

电工证核发机构是哪个?值不值得考?学历不高也能拿下!

电工证核发机构是哪个?值不值得考?学历不高也能拿下! 你是不是也觉得学历不高怕报不上名?别急,电工证核发机构可不是只看学历,关键是你有没有实际操作能力。别再被“学历门槛”吓退,电工证值不值得考,全看你怎么用它。…

2026/11/8 20:46:59

高压电工证测交流电压千万别踩坑,外省证怎么转过来全讲透

高压电工证测交流电压千万别踩坑,外省证怎么转过来全讲透 之前考的证在外省能不能转过来?这事儿压在我心头快一年了,现在终于找到答案了。作为一名河南应届工程类毕业生,我太清楚证书在手到底有多吃香了,尤其是高压电工证测交流电压这个技能,是很多单位…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/8 0:00:27

电工证丢失还能补吗?千万别踩坑,丢了证等于失业

电工证丢失还能补吗?千万别踩坑,丢了证等于失业 你正在找工作,但手里的电工证突然丢了,这下怎么办?别急,先别慌, 电工证丢失还能补吗 ?答案是肯定的,但 千万别踩坑 ,补办流程如果不了解,可能会耽误你上岗、甚至影响到你的收入。…

2026/11/7 14:54:47

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/7 14:50:12

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑