平常辦公,我們使用的最多辦公軟件是Microsoft的Office,所以,我們開發的系統難免會遇到的1個功能就是和Office交互,所以,某些聰明的人,就開發了相應的功能包,使用我們程序員可以非常方便的進行Microsoft Office格式檔案的讀和寫,該功能包就是POI。
對POI具體某1個Excel的操作,這里不再贅述,本節主要的任務就是對這些最基本的功能做個封裝,使其使用大多Excel的操作。
通過模板實現將對象的數據導出為excel;將excel中的數據導入到相應的對象中
我們要想實現將對象的數據導出為excel,首先需要肯定,數據對象的屬性在excel中的列明是甚么?和該屬性在excel中的第幾列?為了解決這個問題,我們需要自定義1個注解,然后,在數據對象的類上進行相應的自描寫。ExcelResources就是這個注解類
數據對象的類添加自描寫后,我們就能夠根據對象的Class類型對象取得其相應的注解的值,對這些注解的值,我們應當使用1個對象進行保存,然后,在將這些數據進行排序,輸出到Excel的列明上。ExcelHeader就是保存數據對象上每一個屬性的注解值得對象。
數據的導出操作都是基于模板進行操作的,所以,我們應當需要有1個類,該類從程序代表了Excel模板,ExcelTemplate就是該類。我們從面相對象的角度分析,該類應當具有甚么功能。
首先具有讀入模板Excel和導出Excel。我們要將數據保存到內存中的excel中,我們需要知道,數據從excel的甚么位置開始填寫,所以,我們需要規定1些特殊標識,分表用來代碼excel的標題,日期,數據開始的位置,默許樣式,其它非默許樣式,并且,該類應當具有替換這些特殊標識,設置單元格樣式,創建行和單元格的功能。
ExcelTemplate是基于模板的操作,ExcelUtil不基于模板的操作,兩個類在功能上是1樣的。
該功能的封裝,對大多的需求都可以滿足。代碼下載