经过3天的研究,终于实现用两种方法实现excel导出
第一种POI方法实现:
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("teacher");
// 第三步,在sheet中添加表头第0行,注意老版本poi对Excel的行数列数有限制short
HSSFRow row = sheet.createRow((int) 0);
// 第四步,创建单元格,并设置值表头 设置表头居中
HSSFCellStyle style = wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
HSSFCell cell = row.createCell((short) 0);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("序号");
cell.setCellStyle(style);
cell = row.createCell((short) 1);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("计划名称");
cell.setCellStyle(style);
cell = row.createCell((short) 2);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("教师姓名");
cell.setCellStyle(style);
cell = row.createCell((short) 3);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("组织");
cell.setCellStyle(style);
cell = row.createCell((short) 4);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("专业");
cell.setCellStyle(style);
cell = row.createCell((short) 5);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("创建人");
cell.setCellStyle(style);
cell = row.createCell((short) 6);
cell.setEncoding(HSSFCell.ENCODING_UTF_16);
cell.setCellValue("建立时间");
cell.setCellStyle(style);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到
ActionContext act = ActionContext.getContext();
HttpServletRequest req = (HttpServletRequest) act
.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse rsp = (HttpServletResponse) act
.get(ServletActionContext.HTTP_RESPONSE);
HttpSession session = req.getSession();
/*
拼接字符串
List body=(ArrayList)session.getAttribute("tongguo_body_list");
for(int i=0;i
第二种jxl实现:
ActionContext act = ActionContext.getContext();
HttpServletRequest req = (HttpServletRequest) act
.get(ServletActionContext.HTTP_REQUEST);
HttpServletResponse rsp = (HttpServletResponse) act
.get(ServletActionContext.HTTP_RESPONSE);
HttpSession session = req.getSession();
WritableWorkbook wwb;
try {
OutputStream os=new FileOutputStream("E:/haha11.xls");
wwb=Workbook.createWorkbook(os);
WritableSheet ws=wwb.createSheet("teacher", 0); //创建一个工作表
WritableFont font1 =new WritableFont(WritableFont.createFont("微软雅黑"), 10 ,WritableFont.BOLD);
// 设置单元格的文字格式
WritableCellFormat wcf = new WritableCellFormat(font1);
wcf.setAlignment(Alignment.CENTRE); //平行居中
wcf.setVerticalAlignment(VerticalAlignment.CENTRE); //垂直居中
//填充数据
ws.addCell(new Label(0, 0, "序号", wcf));
ws.addCell(new Label(1, 0, "计划名称", wcf));
ws.addCell(new Label(2, 0, "教师姓名", wcf));
ws.addCell(new Label(3, 0, "组织", wcf));
ws.addCell(new Label(4, 0, "专业", wcf));
ws.addCell(new Label(5, 0, "创建人", wcf));
ws.addCell(new Label(6, 0, "创建时间", wcf));
List body=(ArrayList)session.getAttribute("tongguo_body_list");
for(int i=0;i