java导出excel表

来源:互联网 发布:翟欣欣最新进展 知乎 编辑:程序博客网 时间:2024/06/11 19:54
@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();              }          }     

0 0