報表導出Excel 一 :根據業務需求設計Excel導出模板

      功能要求是這樣的,對於文檔記錄或者db記錄,需要將之以excel的方式導出到本地,但是報表衆多、樣式各異,怎麼確定具體報表的導出開發呢?

      大概齊就是這樣,針對不同的報表表單頁面,預先做好導出模板,針對數據項做好變量域,根據不同報表的業務數據來源,把數據整合然後循環寫到excel中就ok了。

      大家知道的,excel可寫入的數據是有限制的,如何解決一次寫入千萬條記錄? 這是後話。

      我們做的模板是所有報表模板的集合,所以有很多的sheet存在,在後面通過service寫excel的時候會把多餘的sheet去掉,因爲我們每次只是導出一類報表數據。如下圖,針對每個輸出cell都有一個不可重複的$temp 變量。
    

     我們可以根據不同報表的業務數據來填充這些cell,當然有些報表中存在”總結“、”總和”類似這種綜合類數據,無非就是在我們寫好報表元數據之後追加一些統計類數據。後面會發現,這裏每個cell都會被一個名爲ReplaceItem的自定義java實體類來代替,主要是描述cell的變量名、value以及是否合併、背景色等等。

     接下來,就要整合數據通過POIFSFileSystem來讀寫並設置excel屬性等來實現報表的導出。
   



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章