@RequestMapping(value = "outputexcel", method = RequestMethod.GET)
public void outputexcel(Model model,HttpServletResponse response, HttpSession session) throws IOException {
model.addAttribute("userList",userService.list());
String[] title = {"编号","产品名称","产品类型","计量类型"};
try {
// 获得开始时间
long start = System.currentTimeMillis();
// 输出的excel的路径
String filePath = "/index/a.xls";
// 创建Excel工作薄
WritableWorkbook wwb;
// 新建立一个jxl文件,即在e盘下生成testJXL.xls
OutputStream os = new FileOutputStream(filePath);
wwb=Workbook.createWorkbook(os);
// 添加第一个工作表并设置第一个Sheet的名字
WritableSheet sheet = wwb.createSheet("产品订单", 0);
Label label;
for(int i=0;i<title.length;i++){
// Label(x,y,z) 代表单元格的第x+1列,第y+1行, 内容z
// 在Label对象的子对象中指明单元格的位置和内容
label = new Label(i,0,title[i]);
// 将定义好的单元格添加到工作表中
sheet.addCell(label);
}
// 下面是填充数据
/*
* 保存数字到单元格,需要使用jxl.write.Number
* 必须使用其完整路径,否则会出现错误
* */
List<User> list=userService.list();
// ProductDao dao=new ProductDaoImpl();
// List<Product> list=dao.queryAll();
for(int i=0;i<list.size();i++){
// 填充产品编号
//jxl.write.Number number = new jxl.write.Number(0,i+1,list.get(i).getProduct());
label = new Label(0,i+1,list.get(i).getProduct());
sheet.addCell(label);
// 填充产品名称
label = new Label(1,i+1,list.get(i).getArea());
sheet.addCell(label);
//jxl.write.Number type = new jxl.write.Number(2,i+1,list.get(i).getProductTypeId());
label = new Label(2,i+1,list.get(i).getArea());
sheet.addCell(label);
//jxl.write.Number measure = new jxl.write.Number(3,i+1,list.get(i).getMeasureTypeId());
label = new Label(3,i+1,list.get(i).getArea());
sheet.addCell(label);
}
// 写入数据
wwb.write();
// 关闭文件
wwb.close();
long end = System.currentTimeMillis();
System.out.println("----完成该操作共用的时间是:"+(end-start)/1000);
} catch (Exception e) {
System.out.println("---出现异常---");
e.printStackTrace();
}
}