public void exportReportStaticsData(HttpServletRequest request, HttpServletResponse response, SysUser user, SysRole role) {
List<SysUser> list = userService.selectUserList(user); //这边两个list 可以导出把数据导出到一个excel中
List<SysRole> list1 = roleService.selectRoleList(role);//查询出列表信息
HSSFWorkbook wb = new HSSFWorkbook();//声明工
Sheet sheet = wb.createSheet("数据权限申请审批表");//新建表
sheet.setDefaultColumnWidth(15);//设置表宽
HSSFCellStyle style = wb.createCellStyle();
HSSFFont font = wb.createFont();
font.setFontHeightInPoints((short) 12);
HSSFCellStyle headerStyle = wb.createCellStyle();
HSSFFont headerFont = wb.createFont();
headerFont.setFontHeightInPoints((short) 14);
headerStyle.setFont(headerFont);
CellRangeAddress cra0 = new CellRangeAddress(0, 1, 0, 9);
sheet.addMergedRegion(cra0);
sheet.setDefaultColumnWidth((short) 15);
Row row = sheet.createRow(0);
Cell cell1 = row.createCell(0);
cell1.setCellValue("数据权限申请审批表");
cell1.setCellStyle(headerStyle);
//设置字体样式
HSSFFont titleFont = wb.createFont();
Row row1 = sheet.createRow(2);
//设置表格第一行
Cell cell = row1.createCell(0);
cell.setCellValue("用户ID");
cell.setCellStyle(style);
cell = row1.createCell(1);
cell.setCellValue("登录名称");
cell.setCellStyle(style);
cell = row1.createCell(2);
cell.setCellValue("用户名称");
cell.setCellStyle(style);
Row row2 = sheet.createRow(10);
Cell cell2 = row2.createCell(0);
cell2.setCellValue("角色编号");
cell2.setCellStyle(style);
cell2 = row2.createCell(1);
cell2.setCellValue("角色名称");
cell2.setCellStyle(style);
cell2 = row2.createCell(2);
cell2.setCellValue("权限字符");
cell2.setCellStyle(style);
//循环遍历出数据信息 并赋给每一列
for (int i = 0; i < list.size(); i++) {
// 创建行
row1 = sheet.createRow(i + 3);//从第几行开始 数据从就第几行开始
//这是通过实体类传参的方式赋值数据
if (list.get(i).getUserId() == null || "".equals(list.get(i).getUserId())) {
row1.createCell(0).setCellValue("-");
} else {
row1.createCell(0).setCellValue(list.get(i).getUserId());
}
if (list.get(i).getLoginName() == null || "".equals(list.get(i).getLoginName())) {
row1.createCell(1).setCellValue("-");
} else {
row1.createCell(1).setCellValue(list.get(i).getLoginName());
}
if (list.get(i).getUserName() == null || "".equals(list.get(i).getUserName())) {
row1.createCell(2).setCellValue("-");
} else {
row1.createCell(2).setCellValue(list.get(i).getUserName());
}
}
for (int r = 0; r < list1.size(); r++) {
// 创建行
row2 = sheet.createRow(r + 11);
if (list1.get(r).getRoleId() == null || "".equals(list1.get(r).getRoleId())) {
row2.createCell(0).setCellValue("-");
} else {
row2.createCell(0).setCellValue(list1.get(r).getRoleId());
}
if (list1.get(r).getRoleName() == null || "".equals(list1.get(r).getRoleName())) {
row2.createCell(1).setCellValue("-");
} else {
row2.createCell(1).setCellValue(list1.get(r).getRoleName());
}
}
response.reset();
response.setContentType("application/msexcel;charset=UTF-8");
try {
SimpleDateFormat newsdf = new SimpleDateFormat("yyyyMMddHHmmss");
String date = newsdf.format(new Date());
response.addHeader("Content-Disposition", "attachment;filename=\""
+ new String(("数据权限申请审批表" + date + ".xls").getBytes("GBK"),
"ISO8859_1") + "\"");
OutputStream out = response.getOutputStream();
wb.write(out);
out.flush();
out.close();
} catch (FileNotFoundException e) {
JOptionPane.showMessageDialog(null, "导出失败!");
e.printStackTrace();
} catch (IOException e) {
JOptionPane.showMessageDialog(null, "导出失败!");
e.printStackTrace();
}
}
java方法 导出excel(通过实体类传参)
最新推荐文章于 2024-07-15 11:19:23 发布