前言:
?????? 以數據庫導出為excel文件為樣例,分析抽象性思維和元數據定義、解析運行的過程。
問題:
?????? 系統中比較常見各種excel導出的功能要求,怎樣開發一個通用的excel導出功能?能夠適應各種需求?
探索:
?????? 首先須要手動寫一個從數據庫中導出數據到excel的程序,盡量使用別使用ssh之類。
分析:
?????? 數據導出為excel功能,主要分為兩個過程:
(1)???依照需求從數據庫中獲取符合需求的數據集;
(2)???依照要求創建符合需求的excel模板;
(3)???把數據寫入excel,并依照一定規則命名excel文件;
思考:
?????? 列出幾個導出excel的實際樣例,依照上面分析的流程再次分析,提取出變化和不變的不同部分,不變的部分作為通用的架構,變化的部分用數據定義清楚。能夠看出變化的須要定義的內容是:
(1)???獲取數據集的sql語句及要返回的字段列表;
(2)???Excel模板的字段列表;
(3)???數據集字段列表和excel模板的字段列表的字段相應關系;
改動導出程序,使得程序能夠依據上面定義的內容運行對應的操作,達到導出excel的目的。上面配置的內容能夠放到xml文件、文本文件或者數據庫中均可;事實上這部分數據既能夠稱為元數據;
思考重點:
(1)???抽象性思維;
(2)???分析過程,提取出一切不可控的可能會依據需求變化而變化的部分;
(3)???變化的內容就是須要配置定義的內容,也就是元數據,元數據的格式即為元模型;
(4)???改動程序,能夠自己主動解析適應元數據;
(5)???盡量的考慮各種需求,提高定義的元數據的格式的有用性,提高通用程序的適用性;
興許擴展:
(1)???考慮支持多種數據庫,數據鏈接信息須要進行配置定義;
(2)???考慮支持導出excel或文本文件,須要定義導出方式及格式;
(3)???考慮配置數據定義和維護時的方便快捷性,定義配置數據的格式及維護界面;
? ?
PS:EEPlat(www.eeplat.com)從根本上也是這樣的思想的產物,僅僅只是EEPlat實現的系統的總體的分析定義和通用解析運行。
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
