jxl(Java Excel API) 使用方法 【1】

來源:互聯網
上載者:User

標籤:set   擷取   detail   details   etc   tab   book   test   tco   

//   構建Workbook對象, 唯讀Workbook對象 
 //   直接從本地文檔建立Workbook 
 //   從輸入資料流建立Workbook

    Workbook workbook = null;
    try {
      workbook = Workbook.getWorkbook(new File("D://output.xls"));
    } catch (Exception e) {
     e.printStackTrace();
    } 

//返回正在使用的API的版本號碼,似乎是沒什麼太大的作用。  
    String apiVersion = workbook.getVersion();
    System.out.println(apiVersion);

//    獲得工作薄(Workbook)中工作表(Sheet)的個數 
    int sheets = workbook.getNumberOfSheets(); 
    System.out.println(sheets);

//返回工作薄(Workbook)中工作表(Sheet)對象數組
    Sheet[] sheetStringArr = workbook.getSheets();
    for(int i=0;i<sheetStringArr.length;i++){
     System.out.println(sheetStringArr[i].getName()); //返回Sheet標題

System.out.println(sheetStringArr[i].getColumns());//Sheet頁的總列數

System.out.println(sheetStringArr[i].getColumn(0));//Sheet頁的某一列的數組

System.out.println(sheetStringArr[i].getRows());//Sheet頁的總行數
System.out.println(sheetStringArr[i].getRow(0));//Sheet頁的某一行的數組
    }

//擷取第一張Sheet表 (術語:工作表)  ,兩種方法
    Sheet sheet = workbook.getSheet(0);   //用下標獲得第一頁
    Sheet sheet = workbook.getSheet("TestCreateExcel");  //用名稱獲得第一頁

// 返回第一行,第一列的值  (0  (第一個代表列)    ,0  (第二個代表行))
    Cell cell00=sheet.getCell(0, 0);
    System.out.println(cell00.getType());  //獲得代表類的類型 (返回類的類型)
    System.out.println(cell00.getContents());//獲得代表類的類型 (返回string)

//判斷傳回值類型

if(CellType.DATE==cell00.getType()){
     System.out.print("是日期類"+cell00.getType());//Date()
    }
    if(CellType.LABEL==cell00.getType()){
     System.out.print("是標籤類"+cell00.getType());//Lable()
    }
    if(CellType.NUMBER==cell00.getType()){
     System.out.print("是日期類"+cell00.getType());//Number()
    }

 //關閉對象

workbook.close();

 

 

 

===============================================================

和讀取Excel工作表相似,首先要使用Workbook類的Factory 方法建立一個可寫入的工作薄(Workbook)對象,這裡要注意的是,只能通過API提供的Factory 方法來建立Workbook,而不能使用WritableWorkbook的建構函式,因為類WritableWorkbook的建構函式為protected類型。

 

//   構建Workbook對象, 唯讀Workbook對象 
//   Method 1:建立可寫入的Excel工作薄
 
   File tempFile=new File("d:/output.xls");
   WritableWorkbook workbook = Workbook.createWorkbook(tempFile);

 

//   建立Excel工作表 (名稱,位置)  ,該方法需要兩個參數,一個是工作表的名稱,另一個是工作表在工作薄中的位

//置
   WritableSheet sheet = workbook.createSheet("TestCreateExcel", 0);

 

//1.添加帶有字型Formatting的對象 
   WritableFont headerFont = new WritableFont(WritableFont.ARIAL, 12, WritableFont.BOLD, false, UnderlineStyle.NO_UNDERLINE, jxl.format.Colour.BLUE);  //字型

//2.Format 
   WritableCellFormat headerFormat = new WritableCellFormat (headerFont);  //Format 一下

//3.加入標籤  (列,行,"內容",字型)

jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", headerFormat );

//4.加入工作表

sheet.addCell(labelCF );

 

//設定列的寬度  (那列,寬度數字)

sheet.setColumnView(1,20);

 

//寫入Exel工作表 
wwb.write();

//關閉Excel工作薄對象 
wwb.close();

 

 

=================================================================================

3、拷貝、更新Excel工作薄 

  接下來簡要介紹一下如何更新一個已存在的工作薄,主要是下面二步操作,第一步是構造唯讀Excel工作薄,第二步是利用已建立的Excel工作薄建立新的可寫入的Excel工作薄,參考下面的程式碼片段:(完整代碼見ExcelModifying.Java) 

//建立唯讀Excel工作薄的對象 
jxl.Workbook rw = jxl.Workbook.getWorkbook(new File(sourcefile)); 

//建立可寫入的Excel工作薄對象 
jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile), rw); 

//讀取第一張工作表 
jxl.write.WritableSheet ws = wwb.getSheet(0); //獲得第一頁

//獲得第一個儲存格對象 
jxl.write.WritableCell wc = ws.getWritableCell(0, 0); //獲得第一列,第一行

//判斷儲存格的類型, 做出相應的轉化 
if(wc.getType() == CellType.LABEL) 

Label l = (Label)wc; //(強轉)得到儲存格的Label()對象
l.setString("The value has been modified."); //重新設定值


//寫入Excel對象 
wwb.write(); 

//關閉可寫入的Excel對象 
wwb.close(); 

//關閉唯讀Excel對象 
rw.close();

 

文章轉載來自http://blog.csdn.net/lcz_ptr/article/details/7687657

jxl(Java Excel API) 使用方法 【1】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.