前言
很多人都想開發自己的報表,可是一來難度有點大,二來又麻煩,所以只好尋求第三方控件。
雖然現在有很多流行的報表打印控件,可是要找到個真正適合自己的就不那麼容易了。
如果要求不高,而且能儘快上手,使用靈活的話,用水晶報表之類的就顯得有點大材小用了,個人認爲還是自己開發個比較好,(其實是我不會用水晶報表,呵呵)。所以根據自己的一點點經驗寫下此文,希望可以給有志於自己開發報表類的朋友提供點方便。:)
報表類的結構設計
整個報表打印的功能打算用三組來實現:版面佈局控制類、打印功能控制類、其他擴展功能類。
本文主要說明版面佈局控制部分。
本人借鑑了 DreamWeaver 表格佈局的思路,將整個版面分爲多個 Cell (跟 Excel 差不多啦),不需要劃線的地方可以合併單元格。
這樣的話,佈局類大約需要爲用戶提供以下幾類接口:
設置紙張大小
設置邊距
報表總列數設置
報表總行數設置:最大行數、最小行數設置(因爲通常報表只有第一頁有標題而後面的就沒有)
設置行高、列寬
設置指定行的行高
固定行數(表頭)設置
報表標題設置
上標註設置、下標註設置(包括左、中、右位置)
輸出單元格內容:普通字體輸出、特殊字體輸出
劃線:粗線、實線、虛線(主要用在表格線位置)
處理合並單元格
基本思路大概就這些,當然,有很多地方需要完善。可能這種思路也有很多缺點,希望各位批評指正,提出改進或者不同想法。