pb-09java

          (轉(zhuǎn))JXL操作excel代碼實例

          Jxl使用
          Jxl是對excel操作的一組API,下面就通過兩個例子介紹一下它:
          read Excel:

           

           1public String readExcel(){   
           2                try {   
           3                        //選取指定的excel   
           4                        Workbook workbook = Workbook.getWorkbook(new File("text.xls"));   
           5                        //選取制定的sheet   
           6                        Sheet sheet = workbook.getSheet(0);   
           7                        //選取指定的cell   
           8                        //遍歷循環(huán)得到所要的cell值   
           9                        for(int j = 0 ;j<sheet.getRows() ; j++)   
          10                                for(int i = 0 ;i<sheet.getColumns();i++){   
          11                        Cell cell = sheet.getCell(i,j);   
          12                        //獲取該cell的值   
          13                        String var1 = cell.getContents();   
          14                        //打印輸出該值   
          15                        System.out.println(var1);   
          16                        }
             
          17                }
           catch (BiffException e) {   
          18                        e.printStackTrace();   
          19                }
           catch (IOException e) {   
          20                        e.printStackTrace();   
          21                }
             
          22                return null;   
          23        }
           

           

            注意:
            所有的參數(shù)全部是(column,row)
            workbook.getSheet(0);參數(shù)代表sheet的名,0代表第一個sheet,可以去該sheet的全名
            用getRows()&getColumn()取得的列數(shù)和行數(shù)是系統(tǒng)自動為你取得,即excel中實際使用的行數(shù)和列數(shù),它包括,人為自定義的空行和空列,它也會取到,請使用是注意。

            write Excel
             1/** 
             2     * 測試jxl寫入excel 
             3     * @author wanggang 
             4     * @param null 
             5     * @throws WriteException 
             6     * @throws RowsExceededException 
             7     */
               
             8    public String writeExcel()throws IOException, RowsExceededException, WriteException{   
             9            //創(chuàng)建Excel   
            10            WritableWorkbook workbook = Workbook.createWorkbook(new File("write.xls"));   
            11            //創(chuàng)建sheet   
            12            WritableSheet sheet1 = workbook.createSheet("測試用excel"1);   
            13            WritableSheet sheet2 = workbook.createSheet("測試excel"0);   
            14            /** 
            15             * 總結(jié):createSheet("sheetName",index); 
            16             * @param index表示該sheet是第幾個sheet 
            17             * 
            18             */
               
            19            //開始創(chuàng)建cell   
            20             
            21            //WritableCell cell   
            22            for(int i = 0 ; i < 10 ;i++){   
            23                    sheet1.addCell(new jxl.write.Label(1, i, "書目ID"));   
            24                    /** 
            25                     * 總結(jié):addCell(new Lable(column,row,"content")); 
            26                     * 
            27                     */
               
            28            }
               
            29            workbook.write();   
            30            workbook.close();   
            31             
            32            //sheet.addCell(new jxl.write.Label(0, 1, "書目ID"));   
            33            return null;   
            34             
            35    }
               
              注意:
              WritableSheet要用接口定義,不能用實體類,不然不能進行寫操作
              總結(jié):
              1、Workbook.createWorkbook(new File("write.xls"));和Workbook.getWorkbook(new File("text.xls"));
              中new File(“name”);都要包含相對路徑。

              以下轉(zhuǎn)自:http://zhangzcz1999.javaeye.com/blog/254736感謝原創(chuàng)
               1import java.io.File;   
               2import java.io.FileInputStream; 
               3import java.io.InputStream;   
               4   
               5import jxl.Cell;   
               6import jxl.CellType;   
               7import jxl.Sheet;   
               8import jxl.Workbook;   
               9import jxl.write.Label;   
              10   
              11public class Test {   
              12   
              13    public static void main(String[] args) {   
              14        jxl.Workbook rwb = null;   
              15        try {   
              16            // 構(gòu)建Workbook對象 只讀Workbook對象   
              17            // 直接從本地文件創(chuàng)建Workbook   
              18            // 從輸入流創(chuàng)建Workbook   
              19            InputStream is = new FileInputStream("Book.xls");   
              20            rwb = Workbook.getWorkbook(is);   
              21            // Sheet(術(shù)語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中   
              22            // Sheet的下標是從0開始的   
              23            // 獲取第一張Sheet表   
              24            Sheet rs = rwb.getSheet(0);   
              25            // 獲取Sheet表中所包含的總列數(shù)   
              26            int rsColumns = rs.getColumns();   
              27            // 獲取Sheet表中所包含的總行數(shù)   
              28            int rsRows = rs.getRows();   
              29            // 獲取指這下單元格的對象引用   
              30            for (int i = 0; i < rsRows; i++{   
              31                for (int j = 0; j < rsColumns; j++{   
              32                    Cell cell = rs.getCell(j, i);   
              33                    System.out.print(cell.getContents() + " ");   
              34                }
                 
              35                System.out.println();   
              36            }
                 
              37            // 利用已經(jīng)創(chuàng)建的Excel工作薄創(chuàng)建新的可寫入的Excel工作薄   
              38            jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(   
              39                    "Book2.xls"), rwb);   
              40            // 讀取第一張工作表   
              41            jxl.write.WritableSheet ws = wwb.getSheet(0);   
              42   
              43            // 獲取第一個單元格對象   
              44            jxl.write.WritableCell wc = ws.getWritableCell(00);   
              45            // 決斷單元格的類型,做出相應(yīng)的轉(zhuǎn)化   
              46            if (wc.getType() == CellType.LABEL) {   
              47                Label l = (Label) wc;   
              48                l.setString("The value has been modified.");   
              49            }
                 
              50            // 寫入Excel對象   
              51            wwb.write();   
              52            wwb.close();   
              53   
              54        }
               catch (Exception e) {   
              55            e.printStackTrace();   
              56        }
               finally {   
              57            // 操作完成時,關(guān)閉對象,翻譯占用的內(nèi)存空間   
              58            rwb.close();   
              59        }
                 
              60   
              61    }
                 
              62   
              63       
              64}
                

              posted on 2009-10-28 21:41 2008iava 閱讀(645) 評論(0)  編輯  收藏 所屬分類: java excel

              <2025年7月>
              293012345
              6789101112
              13141516171819
              20212223242526
              272829303112
              3456789

              導(dǎo)航

              統(tǒng)計

              留言簿

              文章分類

              文章檔案

              搜索

              最新評論

              主站蜘蛛池模板: 上高县| 建水县| 横山县| 通许县| 玛多县| 徐闻县| 新晃| 铁岭县| 威远县| 砀山县| 日喀则市| 洛南县| 昭苏县| 延庆县| 灵台县| 西平县| 苏州市| 偏关县| 手机| 且末县| 黑水县| 得荣县| 滨州市| 土默特右旗| 华亭县| 兴海县| 陵水| 平原县| 凤山市| 长沙市| 万年县| 康乐县| 荥阳市| 贞丰县| 海口市| 玉树县| 大同县| 夏河县| 广宁县| 泰州市| 新和县|