首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

POI经过读取Excel模板生成Excel文件

2012-09-01 
POI通过读取Excel模板生成Excel文件/*** 导出* @param mapping* @param form* @param request* @param res

POI通过读取Excel模板生成Excel文件

/**       * 导出       * @param mapping       * @param form       * @param request       * @param response       * @return       */      public ActionForward export(ActionMapping mapping, ActionForm form,               HttpServletRequest request, HttpServletResponse response) {                      String checkBoxValueList = request.getParameter("ckv");           if(!CommonUtil.isNotNullorEmtry(checkBoxValueList)) {               this.saveMessages(request, "export.fail");               return mapping.findForward("export.fail");           }           List<Order> listOrder = orderService.exportOrderList(checkBoxValueList);                      try {   //          SimpleDateFormat sf = new SimpleDateFormat("yyyyMMddhhmm");   //          Calendar calendar = Calendar.getInstance();                              ServletOutputStream os = response.getOutputStream(); //获得输出流               response.reset();   //清空输出流               String fileName = new String("订单列表".getBytes("gb2312"), "ISO8859-1") +".xls";               response.setHeader("Content-disposition", "attachment; filename="+ fileName); //设定输出文件头               response.setContentType("application/msexcel"); //定义输出类型                 String filePath = request.getSession().getServletContext().getRealPath("/excel/model/order.xls");                 HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(filePath));    //读取excel模板               try {                   HSSFSheet sheet = workbook.getSheetAt(0);   //读取第一个工作簿                   HSSFRow row;                   HSSFCell cell = null;                   int rownum = 3; //添加的起始行                   HSSFCellStyle style = this.getStyle(workbook);                   Iterator<Order> it = listOrder.iterator();                   Order order = null;                                                      while(it.hasNext()) {                       order = new Order();                       order = it.next();                                              row = sheet.createRow(rownum);                                              myCreateCell(1, String.valueOf(rownum-2), row, cell, style);    //列1                       myCreateCell(2, order.getAdName(), row, cell, style);   //列2                       myCreateCell(3, order.getSmallAreaName(), row, cell, style);    //列1                                                                      rownum++;                   }                                                      workbook.write(os);                   os.flush();                   os.close();               } catch (Exception e) {                   e.printStackTrace();               }           } catch (IOException e) {               e.printStackTrace();           }           return null;       }              private void myCreateCell(int cellnum, String value, HSSFRow row, HSSFCell cell, HSSFCellStyle style) {           cell = row.createCell((short) cellnum);           cell.setCellValue(new HSSFRichTextString(value));           cell.setCellStyle(style);       }              public HSSFCellStyle getStyle(HSSFWorkbook workbook) {           //设置字体;           HSSFFont font = workbook.createFont();           //设置字体大小;           font.setFontHeightInPoints((short) 10);           //设置字体名字;           font.setFontName("宋体");           //font.setItalic(true);           //font.setStrikeout(true);           //设置样式;           HSSFCellStyle style = workbook.createCellStyle();           //设置底边框;           style.setBorderBottom(HSSFCellStyle.BORDER_THIN);           //设置底边框颜色;           style.setBottomBorderColor(HSSFColor.BLACK.index);           //设置左边框;           style.setBorderLeft(HSSFCellStyle.BORDER_THIN);           //设置左边框颜色;           style.setLeftBorderColor(HSSFColor.BLACK.index);           //设置右边框;           style.setBorderRight(HSSFCellStyle.BORDER_THIN);           //设置右边框颜色;           style.setRightBorderColor(HSSFColor.BLACK.index);           //设置顶边框;           style.setBorderTop(HSSFCellStyle.BORDER_THIN);           //设置顶边框颜色;           style.setTopBorderColor(HSSFColor.BLACK.index);           //在样式用应用设置的字体;           style.setFont(font);           //设置自动换行;           style.setWrapText(false);           //设置水平对齐的样式为居中对齐;           style.setAlignment(HSSFCellStyle.ALIGN_CENTER);           //设置垂直对齐的样式为居中对齐;           style.setVerticalAlignment(HSSFCellStyle.VERTICAL_CENTER);           return style;       } 
?

热点排行