JAVA—咖啡館

          ——歡迎訪問rogerfan的博客,常來《JAVA——咖啡館》坐坐,喝杯濃香的咖啡,彼此探討一下JAVA技術,交流工作經驗,分享JAVA帶來的快樂!本網站部分轉載文章,如果有版權問題請與我聯系。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            447 Posts :: 145 Stories :: 368 Comments :: 0 Trackbacks

          公告

           

          Locations of visitors to this page
          點擊這里給我發消息 點擊這里給我發消息

          常用鏈接

          留言簿(17)

          隨筆分類(542)

          隨筆檔案(438)

          文章分類(182)

          文章檔案(142)

          新聞分類

          ※→ 【JAVA文檔】

          ※→ 【親人博客】

          ※→ 【休閑娛樂】

          ※→ 【友情鏈接】

          ※→ 【學習網站】

          ※→ 【服務網站】

          ※→ 【著名網站】

          ※→ 【阿里博客】

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          package *.*

          import java.util.ArrayList; 
          import java.util.Iterator; 

          import org.apache.poi.hssf.usermodel.HSSFCell; 
          import org.apache.poi.hssf.usermodel.HSSFCellStyle; 
          import org.apache.poi.hssf.usermodel.HSSFFont; 
          import org.apache.poi.hssf.usermodel.HSSFRow; 
          import org.apache.poi.hssf.usermodel.HSSFSheet; 
          import org.apache.poi.hssf.usermodel.HSSFWorkbook; 

          public class FontCellStyle 
          private static HSSFFont fontStyle = null
          private static HSSFCellStyle cellStyle = null

          /*設置字體格式*/ 
          public static HSSFFont getHdrFont(HSSFWorkbook wb) 
          fontStyle 
          = wb.createFont(); 
          fontStyle.setFontName(
          "宋體"); 
          fontStyle.setFontHeightInPoints((
          short)20); 
          fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 
          return fontStyle; 
          }
           
          public static HSSFFont getFtrFont(HSSFWorkbook wb) 
          fontStyle 
          = wb.createFont(); 
          fontStyle.setFontName(
          "宋體"); 
          fontStyle.setFontHeightInPoints((
          short)12); 
          fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); 
          return fontStyle; 
          }
           
          public static HSSFFont getContentFont(HSSFWorkbook wb) 
          fontStyle 
          = wb.createFont(); 
          fontStyle.setFontName(
          "宋體"); 
          fontStyle.setFontHeightInPoints((
          short)12); 
          fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); 
          return fontStyle; 
          }
           
          public static HSSFFont getMergeConflictFont(HSSFWorkbook wb) 
          fontStyle 
          = wb.createFont(); 
          fontStyle.setFontName(
          "Arial"); 
          fontStyle.setFontHeightInPoints((
          short)12); 
          fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_NORMAL); 
          fontStyle.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD); 
          return fontStyle; 
          }
           
          /*設置Excel單元格格式,引用到字體格式*/ 
          public static HSSFCellStyle getAnyCellStyle(HSSFWorkbook wb,HSSFFont font,short align,short valign,short indent,boolean wrapText) 
          cellStyle 
          =wb.createCellStyle(); 
          if(font != null) cellStyle.setFont(font); 
          if(align > 0) cellStyle.setAlignment(align); 
          if(valign > 0) cellStyle.setVerticalAlignment(valign); 
          if(indent > 0) cellStyle.setIndention(indent); 
          cellStyle.setWrapText(wrapText); 
          return cellStyle; 
          }
           

          /*設置Excel單元格行高、列寬*/ 
          public static void setDefaultHighWidth(HSSFSheet sheet) 
          sheet.setDefaultRowHeightInPoints(
          10); 
          sheet.setDefaultColumnWidth((
          short20); 
          }
           
          public static void setDefaultCellHighWidthInRange(HSSFSheet sheet,short[] eachCellWidth,int high) 
          //假定第一行和第一行所需的單元個已經建立好了,也就是說,在這之前已經調用了DesignXlsHeaderFooter.setXlsHeader 
          sheet.setDefaultRowHeightInPoints(high);//設置默認高 
          /*設置各列單元格寬度*/ 
          for(int i = 0;i < eachCellWidth.length;i++
          //System.out.print(""+i+"\t"); 
          sheet.setColumnWidth((short) i,(short) ((eachCellWidth[i])*256)); 
          }
           
          //System.out.println(); 
          /* 
          Iterator arrayItr = eachCellWidth.iterator(); 
          short width; 
          short pos = 0; 
          while(arrayItr.hasNext()) { 
          width = Short.parseShort((String)arrayItr.next()); 
          sheet.setColumnWidth(pos,width); 
          pos++; 

          */
           
          }
          //end_setDefaultCellHighWidthInRange 
          }
           


          /*調用方式*/ 

          /*設置整體excel單元格格式*/ 

          FileOutputStream fos 
          = null
          try 
          fos 
          = new FileOutputStream(rptRealPathAndName); 
          }
           catch (FileNotFoundException e) 
          // TODO Auto-generated catch block 
          //System.out.println("創建文件失敗。。。"); 
          log.info("In WriteRptByType.writeRptTypeFive(),create file failed!!!"); 
          log.error(e.getMessage()); 
          //e.printStackTrace(); 
          return -1
          }
           
          HSSFWorkbook workBook 
          = new HSSFWorkbook(); 
          HSSFSheet sheet 
          = workBook.createSheet();; 
          workBook.setSheetName(
          0,"移動",HSSFWorkbook.ENCODING_UTF_16); 
          HSSFCellStyle cellStyleHdr 
          = FontCellStyle.getAnyCellStyle(workBook,FontCellStyle.getHdrFont(workBook),HSSFCellStyle.ALIGN_CENTER, HSSFCellStyle.VERTICAL_CENTER, (short)-1true); 

          HSSFRow curRow 
          = sheet.createRow(0); 
          HSSFCell curCell
          = curRow.createCell((short)0); 
          curCell.setEncoding(HSSFCell.ENCODING_UTF_16); 
          curCell.setCellStyle(cellStyleHdr ); 
          curCell.setCellValue(
          "可以寫入漢字,無亂碼"); 

          /*.寫入文件.*/ 

          try 
          workBook.write(fos); 
          fos.close(); 
          }
           catch (IOException e) 
          // TODO Auto-generated catch block 
          //System.out.println("寫錯誤。。。"); 
          succFlag = -1
          log.error(
          "報表寫錯誤:"+e.getMessage()); 
          //e.printStackTrace(); 
          posted on 2008-11-25 10:17 rogerfan 閱讀(1230) 評論(1)  編輯  收藏 所屬分類: 【Java知識】

          Feedback

          # re: 【轉】poi操作excel-中文與單元格樣式的方法 2013-01-23 10:03 poi3.8
          樓主,你只玩了一個樣式,沒有試過多樣式多字體,不知道那有多惡心。。。  回復  更多評論
            

          主站蜘蛛池模板: 翼城县| 潮州市| 藁城市| 淮南市| 资中县| 肇州县| 普定县| 和龙市| 吴堡县| 厦门市| 资中县| 陕西省| 耿马| 集安市| 五莲县| 东乌珠穆沁旗| 武隆县| 孝感市| 兴安盟| 五台县| 澎湖县| 日土县| 商水县| 阳原县| 阳春市| 霍山县| 尼勒克县| 白河县| 邳州市| 双桥区| 司法| 商丘市| 手机| 东丰县| 厦门市| 尤溪县| 随州市| 纳雍县| 雷波县| 宁明县| 南雄市|