JavaWeb项目实现----excel导出数据
public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//创建一个webbook,对应一个excel文件
HSSFWorkbook wb=new HSSFWorkbook();
//在webbook中添加一个sheet,对应excel中的sheet
HSSFSheet sheet=wb.createSheet("员工信息表");
//在sheet表中添加表头第0行
HSSFRow row=sheet.createRow(0);
//创建单元格,并设置表头,设置表头居中
//设置表头居中
HSSFCellStyle style=wb.createCellStyle();
style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
//创建单元格,给当前单元格赋值
HSSFCell cell=row.createCell(0);
cell.setCellValue("ID 编号");
cell.setCellStyle(style);
cell=row.createCell((short)1);
cell.setCellValue("姓名");
cell.setCellStyle(style);
cell=row.createCell((short)2);
cell.setCellValue("性别");
cell.setCellStyle(style);
cell=row.createCell((short)3);
cell.setCellValue("薪资");
cell.setCellStyle(style);
cell=row.createCell((short)4);
cell.setCellValue("地址");
cell.setCellStyle(style);
//从数据库中拿到值,并把这些值赋值到excel中
EmpDao ed=new EmpDao();
List<Emp> emps=ed.findEmp(page,pageSize);
for(int i=0;i<emps.size();i++){
row=sheet.createRow(i+1);
Emp emp=emps.get(i);
row.createCell((short)0).setCellValue(emp.getId());
row.createCell((short)1).setCellValue(emp.getName());
row.createCell((short)2).setCellValue(emp.getSex());
row.createCell((short)3).setCellValue(emp.getSalary());
row.createCell((short)4).setCellValue(emp.getAddress());
}
//下载excel
String fileName="员工信息表.xls";
response.setContentType("application/x-msdownload");
response.setHeader("Content-Disposition",
"attachment;filename="
+URLEncoder.encode(fileName,"utf-8"));
OutputStream out=response.getOutputStream();
wb.write(out);
}
}