廉頗老矣,尚能飯否

          java:從技術(shù)到管理

          常用鏈接

          統(tǒng)計(jì)

          最新評(píng)論

          JXL(Java Excel API)【轉(zhuǎn)載】

           

          JXL(Java Excel API)是一個(gè)用來(lái)動(dòng)態(tài)讀寫(xiě)Excel文件的開(kāi)源框架,利用它可以在任何支持Java的操作系統(tǒng)上動(dòng)態(tài)讀寫(xiě)Excel文件。JXL的主頁(yè)是:http://www.andykhan.com/jexcelapi/,可以在這里下載到它的最新的版本。
          你可以分別通過(guò)如下命令
          java -jar jxl.jar -xml test.xls
          java -jar jxl.jar -cvs test.xls
          以xml和cvs格式查看test.xls,這是因?yàn)?span id="wmqeeuq" class="hilite1">JXL作者實(shí)現(xiàn)了一個(gè)用來(lái)演示的jxl.demo.Demo的類(lèi)。

          當(dāng)然我們使用JXL主要是用它來(lái)動(dòng)態(tài)讀寫(xiě)Excel文件?,F(xiàn)在就來(lái)看看JXL在對(duì)Excel的讀和寫(xiě)上都提供了那些支持。
          先來(lái)看看Excel文件中都有寫(xiě)上面對(duì)象
          1 文件對(duì)象 2工作簿對(duì)象 3 單元格對(duì)象。
          相應(yīng)的在JXL中就有Workbook,Sheet ,Cell 。通過(guò)這三個(gè)對(duì)象我們就可以實(shí)現(xiàn)Excel文件的讀取工作。
          我們先想想一下讀取步驟,不管是什么樣的Excel操作框架必定都要經(jīng)歷
          1選取Excel文件,2選擇工作簿,3選擇Cell,4讀取信息。
          那么現(xiàn)在就可以看看JXL中這四步驟如何體現(xiàn):
          //通過(guò)Workbook的靜態(tài)方法getWorkbook選取Excel文件
          Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

          //通過(guò)Workbook的getSheet方法選擇第一個(gè)工作簿(從0開(kāi)始)
          Sheet sheet = workbook.getSheet(0);

          //通過(guò)Sheet方法的getCell方法選擇位置為C2的單元格(兩個(gè)參數(shù)都從0開(kāi)始)
          Cell c2 = sheet.getCell(2,1);

          //通過(guò)Cell的getContents方法把單元格中的信息以字符的形式讀取出來(lái)
          String stringc2 = c2.getContents();

          可以看到正是剛才所說(shuō)的四個(gè)步驟。

          我們都知道Excel單元格是有格式的,那么這些信息如何取得。
          Cell提供了一個(gè)getType方法能夠返回單元格的類(lèi)型信息,同時(shí)JXL提供了一個(gè)CellType類(lèi)用來(lái)預(yù)設(shè)Excel中的類(lèi)型信息,而且JXL提供了一些Cell類(lèi)的子類(lèi)用來(lái)分別用來(lái)表示各種類(lèi)型的單元格,如LabelCell,NumberCell,DateCell分別表示字符、數(shù)值、日期類(lèi)型的單元格。所以我們可以這樣寫(xiě):
          if (c2.getType() == CellType.NUMBER)
          {
            NumberCell nc = (NumberCell) c2;
            numberb2 = nc.getValue();
          }

          最后不要忘記關(guān)閉workbook以釋放資源:
          workbook.close();
          現(xiàn)在總結(jié)一下:三個(gè)對(duì)象,四個(gè)步驟,注意格式。就可以輕松的從Excel文件中讀取數(shù)據(jù)。
          如果你是要讀取Excel中的圖片,那么可以用Sheet的getDrawing(int i)方法返回一個(gè)Image對(duì)象,通過(guò)Image對(duì)象的
          getImageData()或者getImageFile()即可訪問(wèn)到你需要的圖片。
          如過(guò)你是要把圖片寫(xiě)入到Excel中,那么可以用WritableSheet的addImage(WritableImage image)
          方法寫(xiě)入,其中WritableImage可以用構(gòu)造函數(shù)直接構(gòu)造。
          (WritableImage(double x, double y, double width, double height, java.io.File image)



          柳德才
          13691193654
          18942949207
          QQ:422157370
          liudecai_zan@126.com
          湖北-武漢-江夏-廟山

          posted on 2009-01-16 23:18 liudecai_zan@126.com 閱讀(2731) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): JFreeChart

          主站蜘蛛池模板: 黔西县| 阿坝| 普格县| 嵩明县| 鸡泽县| 兰州市| 蓬安县| 卫辉市| 万全县| 梁山县| 白河县| 商都县| 金乡县| 垣曲县| 常州市| 荥阳市| 札达县| 平凉市| 镇巴县| 景泰县| 黄龙县| 井研县| 大悟县| 芦溪县| 柳林县| 格尔木市| 峨眉山市| 西峡县| 乌审旗| 年辖:市辖区| 福贡县| 揭阳市| 霞浦县| 元朗区| 安阳县| 麻栗坡县| 景谷| 辉县市| 衡阳市| 峨眉山市| 吉木萨尔县|