//导出excel
@RequestMapping(value = "export")
@ResponseBody
public String exportExcel(HttpServletResponse response,HttpSession session ,String code) {
String name=(String) session.getAttribute("username");
System.out.println("name:"+name);
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("用户表一");
// 第三步,在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.setCellValue("学号");
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);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
List<User> list=userService.sellikeUserList(name);
for (int i = 0; i < list.size(); i++)
{
row = sheet.createRow((int) i + 1);
User user = (User) list.get(i);
// 第四步,创建单元格,并设置值
row.createCell((short) 0).setCellValue((double) user.getUid());
row.createCell((short) 1).setCellValue(user.getUsername());
row.createCell((short) 2).setCellValue( user.getPassword());
cell = row.createCell((short) 3);
Long a = (Long) (user.getAge()==null?0l : user.getAge());
if(user.getAge()!=null){
cell.setCellValue(user.getAge());
}
}
// 第六步,将文件存到指定位置
/* try
{
FileOutputStream fout = new FileOutputStream("C:/Users/dingwj.SJNS/Desktop/User.xls");
wb.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
} */
// 设置response参数,可以打开下载页面
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
String username="用户";
String filename = username + ".xls";
OutputStream out = null;
try {
// 获取输出流
out = response.getOutputStream();
// 设置头信息
response.setHeader("Content-disposition", "attachment;filename="
+ new String(filename.getBytes("GBK"), "ISO8859-1"));
// 通过流将excel写出
wb.write(out);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
// 关闭输出流
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return WebUtil.convertToJsonData("success");
// 获取数据
}
@RequestMapping(value = "export")
@ResponseBody
public String exportExcel(HttpServletResponse response,HttpSession session ,String code) {
String name=(String) session.getAttribute("username");
System.out.println("name:"+name);
// 第一步,创建一个webbook,对应一个Excel文件
HSSFWorkbook wb = new HSSFWorkbook();
// 第二步,在webbook中添加一个sheet,对应Excel文件中的sheet
HSSFSheet sheet = wb.createSheet("用户表一");
// 第三步,在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.setCellValue("学号");
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);
// 第五步,写入实体数据 实际应用中这些数据从数据库得到,
List<User> list=userService.sellikeUserList(name);
for (int i = 0; i < list.size(); i++)
{
row = sheet.createRow((int) i + 1);
User user = (User) list.get(i);
// 第四步,创建单元格,并设置值
row.createCell((short) 0).setCellValue((double) user.getUid());
row.createCell((short) 1).setCellValue(user.getUsername());
row.createCell((short) 2).setCellValue( user.getPassword());
cell = row.createCell((short) 3);
Long a = (Long) (user.getAge()==null?0l : user.getAge());
if(user.getAge()!=null){
cell.setCellValue(user.getAge());
}
}
// 第六步,将文件存到指定位置
/* try
{
FileOutputStream fout = new FileOutputStream("C:/Users/dingwj.SJNS/Desktop/User.xls");
wb.write(fout);
fout.close();
}
catch (Exception e)
{
e.printStackTrace();
} */
// 设置response参数,可以打开下载页面
response.reset();
response.setContentType("application/vnd.ms-excel;charset=utf-8");
String username="用户";
String filename = username + ".xls";
OutputStream out = null;
try {
// 获取输出流
out = response.getOutputStream();
// 设置头信息
response.setHeader("Content-disposition", "attachment;filename="
+ new String(filename.getBytes("GBK"), "ISO8859-1"));
// 通过流将excel写出
wb.write(out);
} catch (Exception e) {
e.printStackTrace();
} finally {
if (out != null) {
// 关闭输出流
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
return WebUtil.convertToJsonData("success");
// 获取数据
}