<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    爪哇一角

    共同探討STRUTS#HIBERNATE#SPRING#EJB等技術
    posts - 3, comments - 6, trackbacks - 0, articles - 99
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    POI通過讀取Excel模板生成Excel文件

    Posted on 2011-02-22 17:48 非洲小白臉 閱讀(4561) 評論(0)  編輯  收藏 所屬分類: 其他資源 、excel word + macro
  • /**  
  •      * 導出  
  •      * @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((short10);   
  •         //設置字體名字;   
  •         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;   
  •     } 

  • EXCEL模板加載出錯的問題:
    可能是因為模板中某些格式存在問題,或者模板中存在EXCEL的某些高級功能,【POI】無法加載導致出錯。
    解決辦法:自己一步步從最簡單的excel文件開始,繪制模板。

    主站蜘蛛池模板: 日韩内射激情视频在线播放免费| 亚洲欧美日韩中文字幕一区二区三区| 又粗又长又爽又长黄免费视频 | 久久精品国产亚洲AV麻豆网站| 中文字幕永久免费视频| 亚洲国产成人精品女人久久久| 香蕉97碰碰视频免费| 亚洲午夜精品一级在线播放放| 亚洲啪啪AV无码片| 人妻免费一区二区三区最新| 久久精品网站免费观看 | 亚洲春色在线视频| 亚洲日本国产精华液| 久久综合给合久久国产免费| 亚洲国产成人久久精品动漫| 24小时免费看片| 91嫩草亚洲精品| 最新仑乱免费视频| 亚洲精品亚洲人成人网| 三级网站在线免费观看| 全免费a级毛片免费看无码| 亚洲av日韩精品久久久久久a| 四虎亚洲国产成人久久精品| 亚洲人成网站在线观看播放动漫| 国产免费高清69式视频在线观看| 国产h视频在线观看免费| 亚洲AV成人一区二区三区观看 | 亚洲av成人无码久久精品| 免费人成网上在线观看| 亚洲精品无码久久久久sm| 国产亚洲精品免费| 久久精品国产69国产精品亚洲| 中文毛片无遮挡高潮免费| 亚洲成AV人片在线观看| 一级毛片不卡免费看老司机| 在线免费观看a级片| 亚洲w码欧洲s码免费| 亚洲精品免费在线视频| 亚洲国产成人精品无码区二本| 久久久无码精品亚洲日韩软件| 久久w5ww成w人免费|