隨筆-199  評論-203  文章-11  trackbacks-0
          Workbook類提供的方法 

            1. int getNumberOfSheets() 

            獲得工作薄(Workbook)中工作表(Sheet)的個數,示例: 
          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          int sheets = rwb.getNumberOfSheets();  

            2. Sheet[] getSheets() 

            返回工作薄(Workbook)中工作表(Sheet)對象數組,示例: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          Sheet[] sheets = rwb.getSheets();  

            3. String getVersion() 

            返回正在使用的API的版本號,好像是沒什么太大的作用。 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          String apiVersion = rwb.getVersion();  

            Sheet接口提供的方法 

            1) String getName() 

            獲取Sheet的名稱,示例: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          String sheetName = rs.getName();  

            2) int getColumns() 

            獲取Sheet表中所包含的總列數,示例: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          int rsColumns = rs.getColumns();  

            3) Cell[] getColumn(int column) 

            獲取某一列的所有單元格,返回的是單元格對象數組,示例: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          Cell[] cell = rs.getColumn(0);  

            4) int getRows() 

            獲取Sheet表中所包含的總行數,示例: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          int rsRows = rs.getRows();  

            5) Cell[] getRow(int row) 

            獲取某一行的所有單元格,返回的是單元格對象數組,示例子: 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          Cell[] cell = rs.getRow(0);  

            6) Cell getCell(int column, int row) 

            獲取指定單元格的對象引用,需要注意的是它的兩個參數,第一個是列數,第二個是行數,這與通常的行、列組合有些不同。 

          jxl.Workbook rwb = jxl.Workbook.getWorkbook(new File(sourcefile)); 
          jxl.Sheet rs = rwb.getSheet(0); 
          Cell cell = rs.getCell(0, 0);  

            2、生成新的Excel工作薄 

            下面的代碼主要是向大家介紹如何生成簡單的Excel工作表,在這里單元格的內容是不帶任何修飾的(如:字體,顏色等等),所有的內容都作為字符串寫入。(完整代碼見ExcelWriting.java) 

            與讀取Excel工作表相似,首先要使用Workbook類的工廠方法創建一個可寫入的工作薄(Workbook)對象,這里要注意的是,只能通過API提供的工廠方法來創建Workbook,而不能使用WritableWorkbook的構造函數,因為類WritableWorkbook的構造函數為protected類型。示例代碼片段如下: 

          import java.io.*; 
          import jxl.*; 
          import jxl.write.*; 
          … … … … 
          try 

          //構建Workbook對象, 只讀Workbook對象 
          //Method 1:創建可寫入的Excel工作薄 
          jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(new File(targetfile)); 

          //Method 2:將WritableWorkbook直接寫入到輸出流 
          /* 
          OutputStream os = new FileOutputStream(targetfile); 
          jxl.write.WritableWorkbook wwb = Workbook.createWorkbook(os); 
          */ 

          catch (Exception e) 

          e.printStackTrace(); 
          }  

            API提供了兩種方式來處理可寫入的輸出流,一種是直接生成本地文件,如果文件名不帶全路徑的話,缺省的文件會定位在當前目錄,如果文件名帶有全路徑的話,則生成的Excel文件則會定位在相應的目錄;另外一種是將Excel對象直接寫入到輸出流,例如:用戶通過瀏覽器來訪問Web服務器,如果HTTP頭設置正確的話,瀏覽器自動調用客戶端的Excel應用程序,來顯示動態生成的Excel電子表格。 

            接下來就是要創建工作表,創建工作表的方法與創建工作薄的方法幾乎一樣,同樣是通過工廠模式方法獲得相應的對象,該方法需要兩個參數,一個是工作表的名稱,另一個是工作表在工作薄中的位置,參考下面的代碼片段: 

          //創建Excel工作表 
          jxl.write.WritableSheet ws = wwb.createSheet("Test Sheet 1", 0); 

          "這鍋也支好了,材料也準備齊全了,可以開始下鍋了!",現在要做的只是實例化API所提供的Excel基本數據類型,并將它們添加到工作表中就可以了,參考下面的代碼片段: 
          //1.添加Label對象 
          jxl.write.Label labelC = new jxl.write.Label(0, 0, "This is a Label cell"); 
          ws.addCell(labelC); 

          //添加帶有字型Formatting的對象 
          jxl.write.WritableFont wf = new jxl.write.WritableFont(WritableFont.TIMES, 18, WritableFont.BOLD, true); 
          jxl.write.WritableCellFormat wcfF = new jxl.write.WritableCellFormat(wf); 
          jxl.write.Label labelCF = new jxl.write.Label(1, 0, "This is a Label Cell", wcfF); 
          ws.addCell(labelCF); 

          //添加帶有字體顏色Formatting的對象 
          jxl.write.WritableFont wfc = new jxl.write.WritableFont(WritableFont.ARIAL, 10, WritableFont.NO_BOLD, false, 
          Underlinestyle.NO_UNDERLINE, jxl.format.Colour.RED); 
          jxl.write.WritableCellFormat wcfFC = new jxl.write.WritableCellFormat(wfc); 
          jxl.write.Label labelCFC = new jxl.write.Label(1, 0, "This is a Label Cell", wcfFC); 
          ws.addCell(labelCF); 

          //2.添加Number對象 
          jxl.write.Number labelN = new jxl.write.Number(0, 1, 3.1415926); 
          posted on 2009-12-17 18:14 Werther 閱讀(1677) 評論(1)  編輯  收藏 所屬分類: 10.Java

          評論:
          # re: Java Excel API 使用方法 2009-12-18 15:15 | 20G高壓鍋爐管
          學習了,呵呵  回復  更多評論
            
          主站蜘蛛池模板: 宁津县| 武山县| 成武县| 黄龙县| 班玛县| 云浮市| 长海县| 漯河市| 德令哈市| 益阳市| 永济市| 松溪县| 清河县| 会宁县| 环江| 土默特右旗| 富民县| 克拉玛依市| 嘉黎县| 乌鲁木齐市| 孟村| 呈贡县| 东方市| 长丰县| 北宁市| 元谋县| 霍林郭勒市| 黄龙县| 普兰店市| 安仁县| 新平| 夏邑县| 彰化市| 瑞金市| 韶山市| 清原| 密云县| 肇东市| 湖口县| 驻马店市| 甘德县|