<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    wuxiren123

    從FineReport看開放式引擎API

    對于一款軟件或產品,尤其是一些企業級應用的IT軟件,是不可能滿足所有需求的。尤其是針對業務化的產品需求,某些個性化的需求就要進行二次開發。二次開發需要API接口,無論是什么樣的開發,開發人員都需要對開發的產品大內部結構有所了解。在應用廣泛的企業報表領域,開發在所難免,下圖展示了我在工作中開發的FineReport的內核示意圖。

     

    這款類似于Excel的報表軟件,成為設計器。在設計器中新建一個工作薄就是建了一個WorkBook,WorkBook相當于一個容器,里面可以放任意個WorkSheet,就相當于在設計器的一個工作薄中新建了多個sheet。每個WorkSheet是由任意個單元格CellElement組成,因此CellElement是一個模板的最小元素。獲得WorkBook后,必須取得其中的某個WorkSheet才能對這個報表中的CellElement進行操作,這對于模板還是結果都是一樣的,如果以模板為例,最基本的內核結構就是如下面這張圖


    由于每個部分各自包含了很多屬性,比如可以設置單元格的前景、背景、邊框、字體、字號等;又比如每個WorkSheet中可以添加,刪除單元格、可以設置每個sheet的頁面屬性、可以給每個sheet中添加圖表懸浮元素等;再比如可以對WorkBook進行執行獲得結果并導出成各種格式、可以進行打印、添加工具欄等等。

    正是基于這樣,再開發時會有豐富的API接口可供調用。以下是FineReport包含的所有開放的API。


    由圖可有看出,對于這樣的開發可以從以下幾個功能點進行開發。

    報表數據源

    設計器本身已經提供了數據庫數據源、文本數據源、xml數據源等多種數據來源方式,同時還可以通過java程序自行生成數據來源,只需要實現TableData接口便可以了。

    輸入輸出報表

    在程序中新建一個報表對象同時也可以直接讀取一個cpt模板來生成,經過處理的報表最終可以導出成多種形式,可以保存為程序網絡報表在web端直接訪問,也可以導出為excel、pdf、word、cpt等多種格式文件。    

    設置單元格屬性及報表屬性編輯

    可以對報表對象的單元格屬性、web屬性、參數、頁面設置等多個屬性進行控制,可以自由控制單元格的顯示樣式、工具欄的按鈕、參數面板的展示、參數的賦值等等。

    自定義填報

    開放的填報api接口能夠根據自己的需要來定義填報入庫方式,通過填報接口,可以往數據庫中保存用戶操作日志、在填報成功與失敗時進行各種處理等等。

    開發的工作雖枯燥也有意思,閑來無事時也會開發一些有趣的應用,比如下圖把天氣集成到報表頁面。

    posted on 2016-07-18 15:11 喝水居然長肉 閱讀(121) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 成年免费大片黄在线观看岛国| 精品免费tv久久久久久久| 蜜桃AV无码免费看永久| 亚洲va在线va天堂va四虎 | 国产精品亚洲а∨无码播放麻豆| 桃子视频在线观看高清免费完整| 亚洲欧洲精品在线| 中文字幕无码不卡免费视频| 亚洲国产成人久久77| 午夜精品在线免费观看| 最新亚洲人成网站在线观看| 亚洲?V无码乱码国产精品| 一级中文字幕免费乱码专区| 国产亚洲精久久久久久无码77777| 中文字幕免费在线播放| 少妇中文字幕乱码亚洲影视| 国产91免费视频| 国产精品久久久久久亚洲影视| 亚洲成av人片一区二区三区| 久久久久免费视频| 亚洲一区免费观看| 成人毛片免费在线观看| 日韩毛片免费一二三| 亚洲成AV人片在线观看无码 | a级午夜毛片免费一区二区| 久久精品7亚洲午夜a| 国产免费女女脚奴视频网| 亚洲色大网站WWW永久网站| 免费人成在线观看视频播放| 国产性生大片免费观看性| 亚洲嫩草影院在线观看| 日韩免费无码一区二区视频| 亚洲一区二区三区免费| 亚洲视频.com| 免费少妇a级毛片人成网| 久久久久久久99精品免费观看| 亚洲综合伊人制服丝袜美腿| 亚洲一级黄色视频| 无码乱肉视频免费大全合集| 一级毛片a免费播放王色电影| 亚洲欧洲自拍拍偷综合|