千里冰封
          JAVA 濃香四溢
          posts - 151,comments - 2801,trackbacks - 0

          眾所周知,EXCEL是微軟的office套件里的一個產(chǎn)品,使用比較廣泛,由于微軟產(chǎn)品的特殊性,JAVA標準

          庫里面并沒有提供操作EXCEL文檔的類,可是在程序開發(fā)過程中,如果能將數(shù)據(jù)輸出成一個電子表格的形式,

          那將有利于用戶分析和查看數(shù)據(jù).
             雖然標準類庫沒有提供操作方法,但是得益于JAVA是開源的,所以我們可以找到第三方的開源的類庫來

          進行EXCEL的讀寫操作.我們選用apache的POI庫來進行EXCEL的操作.
             在POI里面,它把很多EXCEL里面的元素都對象化了,很符合的JAVA的編程風格.
             在使用POI之前,我們得下載一個POI的庫,我們可以去apache的網(wǎng)站上去下載,目前最新的版本是3.0.1,

          下載后,把它加入到 classpath中就可以使用它了.
            下面我們就來看一下最簡單的一個例子,生成我們第一個EXCEL文檔.

          /*
           * Test2.java
           *
           * Created on 2007年9月12日, 上午9:18
           *
           * To change this template, choose Tools | Template Manager
           * and open the template in the editor.
           
          */

          package test1;

          import java.io.FileOutputStream;
          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.HSSFRichTextString;
          import org.apache.poi.hssf.usermodel.HSSFRow;
          import org.apache.poi.hssf.usermodel.HSSFSheet;
          import org.apache.poi.hssf.usermodel.HSSFWorkbook;
          import org.apache.poi.hssf.util.HSSFColor;

          /**
           *
           * 
          @author hadeslee
           
          */
          public class Test2{
              
              
          /** Creates a new instance of Test2 */
              
          public Test2() {
              }
              
          public static void main(String[] args)throws Exception {
                  
          //聲明一個工作薄
                  HSSFWorkbook wb=new HSSFWorkbook();
                  
          //生成一個表格
                  HSSFSheet sheet=wb.createSheet("表格1");
                  
          //生成一個列
                  HSSFRow row=sheet.createRow(0);
                  
          //生成一個樣式
                  HSSFCellStyle style=wb.createCellStyle();
                  
          //設置這些樣式
                  style.setFillForegroundColor(HSSFColor.SKY_BLUE.index);
                  style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
                  style.setBorderBottom(HSSFCellStyle.BORDER_THIN);
                  style.setBorderLeft(HSSFCellStyle.BORDER_THIN);
                  style.setBorderRight(HSSFCellStyle.BORDER_THIN);
                  style.setBorderTop(HSSFCellStyle.BORDER_THIN);
                  style.setAlignment(HSSFCellStyle.ALIGN_CENTER);
                  
          //生成一個字體
                  HSSFFont font=wb.createFont();
                  font.setColor(HSSFColor.VIOLET.index);
                  font.setFontHeightInPoints((
          short)16);
                  font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
                  
          //把字體應用到當前的樣式
                  style.setFont(font);
                  
          //填充單元格
                  for(short i=0;i<5;i++){
                      
          //聲明一個單元格
                      HSSFCell cell=row.createCell(i);
                      
          //設置單元格的字符值
                      cell.setCellValue(new HSSFRichTextString(""+i+""));
                      
          //設置單元格的樣式
                      cell.setCellStyle(style);
                  }
                  FileOutputStream fout
          =new FileOutputStream("我的第一個EXCEL.xls");
                  
          //輸出到文件
                  wb.write(fout);
                  fout.close();
              }
          }

          這個例子比起別的入門例子,可能會復雜一些,因為里面應用到了樣式和字體,但是這些對于我們美化EXCEL是

          很重要的,EXCEL里面大部份都是插入字符串,但是我們也可以插入圖片或者圖形或者格式化的日期以及時

          間,至于如何插入這些,我們下次再講.:)




          盡管千里冰封
          依然擁有晴空

          你我共同品味JAVA的濃香.
          posted on 2007-09-12 15:53 千里冰封 閱讀(2670) 評論(5)  編輯  收藏 所屬分類: JAVASE

          FeedBack:
          # re: 利用POI操作EXCEL文檔(1)
          2007-09-12 19:38 | 劉甘泉
          poi的大容量讀 力不從心啊  回復  更多評論
            
          # re: 利用POI操作EXCEL文檔(1)
          2007-09-12 19:42 | 千里冰封
          @劉甘泉
          呵呵,大容量讀沒有試過.JAVA對內(nèi)存大的東西一向不太好處理
          導圖片也是一樣的:(  回復  更多評論
            
          # re: 利用POI操作EXCEL文檔(1)
          2007-09-12 23:11 | ruislan
          我最近的工作就是將很多用Excel做得各種記錄之類的導入到新的數(shù)據(jù)庫里面,最大的一個Excel文件有3000多條,雖然不算大容量,不過也不是很慢啊。  回復  更多評論
            
          # re: 利用POI操作EXCEL文檔(1)
          2007-09-13 06:41 | HERALS
          怎么看起來這么累啊,。。。 不懂。。。。
          瘋子,,,玩起JAVA了。。
            回復  更多評論
            
          # re: 利用POI操作EXCEL文檔(1)
          2007-09-13 13:02 | AlleNny
          一直不明白為什么POI不能操作Microsoft Project文件  回復  更多評論
            
          主站蜘蛛池模板: 镇康县| 武强县| 广东省| 桦南县| 鄂尔多斯市| 肃宁县| 开封县| 昔阳县| 正阳县| 两当县| 洛浦县| 历史| 康保县| 新乐市| 乌审旗| 绥棱县| 乌拉特前旗| 那坡县| 红安县| 横峰县| 永济市| 太原市| 乌鲁木齐县| 贡觉县| 胶南市| 二连浩特市| 新宾| 新化县| 临邑县| 赤城县| 全州县| 偏关县| 合阳县| 铜山县| 保山市| 赤城县| 上高县| 鹤峰县| 叶城县| 闸北区| 象山县|