現階段JAVA操作Excel的JAR主要有apache 的POI及jxl.因為現在的eclipse操作excel用的外掛程式為jxl,所以使用jxl挺方便的。
Jxl官網:http://www.andykhan.com/jexcelapi/index.html
一、Jxl的API
Jxl的API主要有三個包,jxl,jxl.format,jxl.write。如果單獨的分析API,可能對於更明確的瞭解此API沒有太多的協助,我們還是從Excel檔案的層次來剝離此API吧。
一個excel檔案由一個活頁簿組成,一個活頁簿又由n個工作表組成,每個工作表又由多個儲存格組成。對應於Jxl中的結構為
|
讀檔案(包jxl) |
寫檔案(包jxl.write) |
說明 |
|
Workbook |
WritableWorkbook |
活頁簿 |
|
Sheet |
WritableSheet |
工作表 |
|
Cell/Image/Hyperlink |
WritableCell/WritableImage//WritableHyperlink |
儲存格/映像/超連結 |
儲存格(此處指文本儲存格,映像及連結和儲存格做為一個層次)分為好多種,所以在API的設計中將Cell作為一個介面而存在。 對應的jxl中的結構為:
|
讀檔案(包jxl) |
寫檔案(包jxl.write) |
說明 |
|
Cell |
WritableCell |
儲存格 |
|
BooleanCell |
Boolean |
布爾值儲存格 |
|
DateCell |
DateTime |
時間儲存格 |
|
ErrorCell |
|
形式錯誤的儲存格 |
|
LabelCell |
Label |
文本儲存格 |
|
NumberCell |
Number |
數字儲存格 |
|
FormualCedll |
Formual |
公式儲存格 |
|
|
Blank |
空格儲存格 |
|
BooleanFormualCell |
|
布爾公式儲存格 |
|
DateFormualCell |
|
時間公式儲存格 |
|
ErrorFormualCell |
|
錯誤公式儲存格 |
|
StringFormualCell |
|
文本公式儲存格 |
|
NumberFormualCell |
|
數字公式儲存格 |
而有的時候,我們可能將幾個儲存格作為一個整體來處理,在API中對應的則是:
jxl.Range
雖然資料是試算表的核心,但是同時其也需要一些輔助類,比如檔案格式設定,工作表設定與顯示效果,儲存格設定與顯示效果等。按照其層次,則依次有以下介面或類。
|
讀檔案(包jxl) |
寫檔案(包jxl.write) |
說明 |
|
WorkbookSettings |
WorkbookSettings(包jxl) |
設定workbook屬性的bean |
|
SheetSettings |
SheetSettings(包jxl) |
設定具體sheet的屬性的bean(比如表頭表底等) |
|
HeaderFooter |
HeaderFooter(包jxl) |
表示表頭表底類 |
|
HeaderFooter.Contents |
HeaderFooter.Contents(包jxl) |
具體表頭表底設定 |
|
CellFeatures |
WritableCellFeautres |
表格內容相關設定(驗證) |
|
CellReferenceHelper |
|
得到前導參照相關屬性 |
|
CellType |
|
表格相互關聯類型 |
|
CellView |
CellView(包jxl) |
表格視圖相關設定 |
|
CellFormat |
WritableCellFormat |
表格顯示樣式設定 |
|
|
BoldStyle |
邊框枚舉 |
|
|
DateFormat |
時間格式 |
|
|
DateFormats |
時間格式枚舉 |
|
|
NumbreFormat |
資料格式 |
|
|
NumbreFormats |
數字模式枚舉 |
|
|
WritableFont |
字型設定 |
|
|
WriteableFont.Fontname |
靜態字型內部類 |
最後,關於Jxl.format包,此包主要是一些與具體樣式有關的介面和枚舉,不進行具體描述。
二、應用
見前面一篇文章的樣本。