pb-09java

          (轉)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                        //遍歷循環得到所要的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        }
           

           

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

            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            //創建Excel   
            10            WritableWorkbook workbook = Workbook.createWorkbook(new File("write.xls"));   
            11            //創建sheet   
            12            WritableSheet sheet1 = workbook.createSheet("測試用excel"1);   
            13            WritableSheet sheet2 = workbook.createSheet("測試excel"0);   
            14            /** 
            15             * 總結:createSheet("sheetName",index); 
            16             * @param index表示該sheet是第幾個sheet 
            17             * 
            18             */
               
            19            //開始創建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                     * 總結: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要用接口定義,不能用實體類,不然不能進行寫操作
              總結:
              1、Workbook.createWorkbook(new File("write.xls"));和Workbook.getWorkbook(new File("text.xls"));
              中new File(“name”);都要包含相對路徑。

              以下轉自:http://zhangzcz1999.javaeye.com/blog/254736感謝原創
               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            // 構建Workbook對象 只讀Workbook對象   
              17            // 直接從本地文件創建Workbook   
              18            // 從輸入流創建Workbook   
              19            InputStream is = new FileInputStream("Book.xls");   
              20            rwb = Workbook.getWorkbook(is);   
              21            // Sheet(術語:工作表)就是Excel表格左下角的Sheet1,Sheet2,Sheet3但在程序中   
              22            // Sheet的下標是從0開始的   
              23            // 獲取第一張Sheet表   
              24            Sheet rs = rwb.getSheet(0);   
              25            // 獲取Sheet表中所包含的總列數   
              26            int rsColumns = rs.getColumns();   
              27            // 獲取Sheet表中所包含的總行數   
              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            // 利用已經創建的Excel工作薄創建新的可寫入的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            // 決斷單元格的類型,做出相應的轉化   
              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            // 操作完成時,關閉對象,翻譯占用的內存空間   
              58            rwb.close();   
              59        }
                 
              60   
              61    }
                 
              62   
              63       
              64}
                

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

              <2025年5月>
              27282930123
              45678910
              11121314151617
              18192021222324
              25262728293031
              1234567

              導航

              統計

              留言簿

              文章分類

              文章檔案

              搜索

              最新評論

              主站蜘蛛池模板: 增城市| 屯门区| 万安县| 宜宾市| 南丹县| 武威市| 克拉玛依市| 河北区| 连云港市| 潮安县| 苍梧县| 东至县| 新沂市| 尉犁县| 留坝县| 盈江县| 南阳市| 五常市| 卓尼县| 郑州市| 库车县| 茂名市| 石景山区| 安阳县| 蓝田县| 交口县| 胶州市| 新乡市| 来凤县| 巫溪县| 伊宁市| 福贡县| 敦煌市| 丘北县| 雷波县| 富民县| 宾阳县| 巩义市| 襄汾县| 康保县| 宁夏|