摘 要:文章介紹如何使用 Delphi 編程通過(guò)定義報(bào)表內(nèi)容描述、Excel 模板文件和服務(wù)器描述文件實(shí)現(xiàn) Oracle 數(shù)據(jù)庫(kù)和 Excel 模板文件的數(shù)據(jù)交換,并以 Ftp 方式自動(dòng)發(fā)布到 Web 數(shù)據(jù)發(fā)布平臺(tái)。
關(guān)鍵詞:Delphi;Excel模板;報(bào)表定義;Ftp
1 引言
隨著計(jì)算機(jī)應(yīng)用技術(shù)的快速發(fā)展,Excel 電子表格的普及,工作中常常需要從不同的信息管理系統(tǒng)中查詢統(tǒng)計(jì)數(shù)據(jù)并以 Excel 表格方式展現(xiàn)報(bào)表。由于行業(yè)或者業(yè)務(wù)部門(mén)需求的變化,導(dǎo)致報(bào)表格式、種類(lèi)繁多。一些復(fù)雜報(bào)表,需求在軟件開(kāi)發(fā)期間都無(wú)法明確,為了解決此類(lèi)問(wèn)題,采用了表格功能強(qiáng)大的 Excel 作為報(bào)表模板,Delphi 程序根據(jù)報(bào)表數(shù)據(jù)定義動(dòng)態(tài)填入數(shù)據(jù),完成數(shù)據(jù)填充后以 Ftp 方式上傳填寫(xiě)完數(shù)據(jù)的文件到 Web 數(shù)據(jù)發(fā)布平臺(tái),從而實(shí)現(xiàn) Excel 報(bào)表的自動(dòng)生成和發(fā)布功能。
2 實(shí)現(xiàn)原理
2.1 按照業(yè)務(wù)部門(mén)的需求,根據(jù)需要的報(bào)表格式,編輯好Excel報(bào)表模板文件;根據(jù)報(bào)表的數(shù)據(jù)內(nèi)容和區(qū)域,編寫(xiě)好報(bào)表定義文件。
2.2 以報(bào)表定義文件文件名作為運(yùn)行的參數(shù),在操作系統(tǒng)下創(chuàng)建批處理命令,并可以根據(jù)實(shí)際需要把批處理加入操作系統(tǒng)的計(jì)劃任務(wù),實(shí)現(xiàn)按程序自動(dòng)運(yùn)行。
2.3 程序根據(jù)報(bào)表定義文件的描述,主要做如下操作:①讀取指定的 Excel 模板文件;②到指定的數(shù)據(jù)庫(kù)服務(wù)器查詢數(shù)據(jù)并填充 Excel 模板文件;③以Ftp方式上傳生成好的Excel報(bào)表文件到FTP服務(wù)器。
3 實(shí)現(xiàn)過(guò)程描述
3.1 報(bào)表定義文件
采用可擴(kuò)展標(biāo)記語(yǔ)言(XML文件描述),主要內(nèi)容描述如下:
D:\xxxx\template_xxx.xls<!-excel 模板文件-->
<!--輸出文件名-->