Titan專欄

          用文字來(lái)整理生命

            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            44 隨筆 :: 49 文章 :: 19 評(píng)論 :: 0 Trackbacks
           只要有表格,就會(huì)有Microsoft Excel,用Microsoft Excel處理數(shù)據(jù)已成為不少人的習(xí)慣。Jakarta POI API就為Java程序員提供了一條存取Microsoft文檔格式的神奇之路,其中最成熟的就是能存取Microsoft Excel文檔的HSSF API。

            本篇文章就舉例示范如何利用Java 創(chuàng)建和讀取Excel文檔,并設(shè)置單元格的字體和格式。

            為了保證示例程序的運(yùn)行,必須安裝Java 2 sdk1.4.0 和Jakarta POI,Jakarta POI的Web站點(diǎn)是: http://jakarta.apache.org/poi/

            創(chuàng)建Excel 文檔

            示例1將演示如何利用Jakarta POI API 創(chuàng)建Excel 文檔。

            示例1程序如下:

          import org.apache.poi.hssf.usermodel.HSSFWorkbook;
          import org.apache.poi.hssf.usermodel.HSSFSheet;
          import org.apache.poi.hssf.usermodel.HSSFRow;
          import org.apache.poi.hssf.usermodel.HSSFCell;
          import java.io.FileOutputStream;
          public class CreateXL {

           /** Excel 文件要存放的位置,假定在D盤(pán)JTest目錄下*/

           public static String outputFile="D:/JTest/ gongye.xls";

           public static void main(String argv[]){

           try{

            // 創(chuàng)建新的Excel 工作簿

            HSSFWorkbook workbook = new HSSFWorkbook();

            // 在Excel工作簿中建一工作表,其名為缺省值
                // 如要新建一名為"效益指標(biāo)"的工作表,其語(yǔ)句為:
                // HSSFSheet sheet = workbook.createSheet("效益指標(biāo)");

            HSSFSheet sheet = workbook.createSheet();

            // 在索引0的位置創(chuàng)建行(最頂端的行)

            HSSFRow row = sheet.createRow((short)0);

            //在索引0的位置創(chuàng)建單元格(左上端)
            HSSFCell cell = row.createCell((short) 0);
            // 定義單元格為字符串類型
            cell.setCellType(HSSFCell.CELL_TYPE_STRING);
            // 在單元格中輸入一些內(nèi)容
            cell.setCellValue("增加值");
            // 新建一輸出文件流
            FileOutputStream fOut = new FileOutputStream(outputFile);
            // 把相應(yīng)的Excel 工作簿存盤(pán)
            workbook.write(fOut);
            fOut.flush();
            // 操作結(jié)束,關(guān)閉文件
            fOut.close();
            System.out.println("文件生成...");

           }catch(Exception e) {
            System.out.println("已運(yùn)行 xlCreate() : " + e );
           }
          }
          }

            讀取Excel文檔中的數(shù)據(jù)

            示例2將演示如何讀取Excel文檔中的數(shù)據(jù)。假定在D盤(pán)JTest目錄下有一個(gè)文件名為gongye.xls的Excel文件。

            示例2程序如下:

          import org.apache.poi.hssf.usermodel.HSSFWorkbook;
          import org.apache.poi.hssf.usermodel.HSSFSheet;
          import org.apache.poi.hssf.usermodel.HSSFRow;
          import org.apache.poi.hssf.usermodel.HSSFCell;
          import java.io.FileInputStream;
          public class ReadXL {
           /** Excel文件的存放位置。注意是正斜線*/
           public static String fileToBeRead="D:/JTest/ gongye.xls";
           public static void main(String argv[]){
           try{
            // 創(chuàng)建對(duì)Excel工作簿文件的引用
            HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(fileToBeRead));
            // 創(chuàng)建對(duì)工作表的引用。
            // 本例是按名引用(讓我們假定那張表有著缺省名"Sheet1")
            HSSFSheet sheet = workbook.getSheet("Sheet1");
            // 也可用getSheetAt(int index)按索引引用,
            // 在Excel文檔中,第一張工作表的缺省索引是0,
            // 其語(yǔ)句為:HSSFSheet sheet = workbook.getSheetAt(0);
            // 讀取左上端單元
            HSSFRow row = sheet.getRow(0);
            HSSFCell cell = row.getCell((short)0);
            // 輸出單元內(nèi)容,cell.getStringCellValue()就是取所在單元的值
            System.out.println("左上端單元是: " + cell.getStringCellValue());
           }catch(Exception e) {
            System.out.println("已運(yùn)行xlRead() : " + e );
           }
          }
          }

            設(shè)置單元格格式

            在這里,我們將只介紹一些和格式設(shè)置有關(guān)的語(yǔ)句,我們假定workbook就是對(duì)一個(gè)工作簿的引用。在Java中,第一步要做的就是創(chuàng)建和設(shè)置字體和單元格的格式,然后再應(yīng)用這些格式:

            1、創(chuàng)建字體,設(shè)置其為紅色、粗體:

          HSSFFont font = workbook.createFont();
          font.setColor(HSSFFont.COLOR_RED);
          font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);

            2、創(chuàng)建格式

          HSSFCellStyle cellStyle= workbook.createCellStyle();
          cellStyle.setFont(font);

            3、應(yīng)用格式

          HSSFCell cell = row.createCell((short) 0);
          cell.setCellStyle(cellStyle);
          cell.setCellType(HSSFCell.CELL_TYPE_STRING);
          cell.setCellValue("標(biāo)題 ");
          posted on 2005-12-08 23:03 Titan 閱讀(256) 評(píng)論(0)  編輯  收藏 所屬分類: Java技術(shù)
          主站蜘蛛池模板: 桑日县| 张家口市| 新安县| 吕梁市| 静宁县| 阿克苏市| 双桥区| 宁南县| 夏河县| 梁山县| 大悟县| 灵武市| 襄汾县| 无锡市| 海阳市| 康定县| 大竹县| 临潭县| 昌平区| 军事| 东光县| 淮北市| 分宜县| 交城县| 兴仁县| 无锡市| 高雄县| 余干县| 巴楚县| 乐昌市| 安陆市| 辽阳县| 达日县| 枣庄市| 浦东新区| 和平县| 尉犁县| 吐鲁番市| 大安市| 商丘市| 慈利县|