• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Excel的報表生成系統(tǒng)的實現(xiàn)

      2012-08-06 09:37:58趙小娟王才善
      鐵路計算機應(yīng)用 2012年4期
      關(guān)鍵詞:報表邏輯管理系統(tǒng)

      趙小娟,王才善

      (蘭州交通大學(xué)光電技術(shù)與智能控制教育部重點實驗室,蘭州730070)

      隨著企業(yè)管理系統(tǒng)的廣泛應(yīng)用,越來越多的企業(yè)趨向于使用電子報表進(jìn)行企業(yè)生產(chǎn)管理。報表作為一種信息統(tǒng)計和分析的重要手段,已成為信息系統(tǒng)的重要組成部分之一,而中國式報表的復(fù)雜性使得一些報表軟件無法直接應(yīng)用,如何將數(shù)據(jù)進(jìn)行統(tǒng)計生成到報表中去,特別是生成到Excel電子表格中,就成為管理系統(tǒng)軟件開發(fā)經(jīng)常遇到的問題。本文結(jié)合洛陽石化鐵路運輸調(diào)度管理系統(tǒng)報表的設(shè)計,給出一個在.NET平臺上,使用Orcal數(shù)據(jù)庫和Excel開發(fā)報表應(yīng)用的實例,從而提出一種基于Excel的報表開發(fā)方案。

      1 報表生成系統(tǒng)需求分析

      報表生成系統(tǒng)能及時、準(zhǔn)確的反應(yīng)企業(yè)實時的生產(chǎn)狀況及現(xiàn)場等數(shù)據(jù)信息,方便企業(yè)管理。構(gòu)成企業(yè)報表的基本要素有報表數(shù)據(jù)、報表格式和報表輸出。

      1.1 報表數(shù)據(jù)

      報表數(shù)據(jù)主要分為生產(chǎn)數(shù)據(jù)和管理數(shù)據(jù),生產(chǎn)數(shù)據(jù)是企業(yè)生產(chǎn)過程中產(chǎn)生和采集的實時數(shù)據(jù)和歷史數(shù)據(jù),例如鐵路運輸調(diào)度過程中的車數(shù)、車號、進(jìn)出場時間等信息。管理數(shù)據(jù)是指企業(yè)管理中涉及的數(shù)據(jù),如操作人員的信息、班次及工作考核情況等。

      生產(chǎn)報表包括原始數(shù)據(jù)和統(tǒng)計數(shù)據(jù),這些數(shù)據(jù)是各個系統(tǒng)運行時存入數(shù)據(jù)庫的數(shù)據(jù)。報表設(shè)計時應(yīng)考慮以下幾點需求:

      (1)對采集到或處理后的數(shù)據(jù)有定期(日、周、旬、月、季度、年)或不定期(階段)展現(xiàn)的要求。

      (2)對數(shù)據(jù)進(jìn)行分類、統(tǒng)計求和、求差、求平均值、求最值等計算的要求。

      (3)對采集到的數(shù)據(jù)有分組、分欄、排序顯示的需求。

      1.2 報表格式

      在設(shè)計企業(yè)生產(chǎn)報表的過程中,對報表展現(xiàn)格式也有很高的要求,表1列出了幾個鐵路運輸調(diào)度管理系統(tǒng)中生產(chǎn)報表的格式情況,主要有簡單列表、分組報表、分欄報表和交叉報表等。因此需要設(shè)計的報表系統(tǒng)能夠展現(xiàn)各種各樣的報表格式。

      表1 鐵路運輸調(diào)度管理系統(tǒng)生產(chǎn)報表格式

      1.3 報表輸出

      隨著企業(yè)信息化管理系統(tǒng)的應(yīng)用,一般對報表的輸出有以下幾點要求:

      (1)支持多種格式輸出。要求報表能以各種不同的文件格式輸出及打印,可以與不同辦公軟件進(jìn)行交互,能夠?qū)С鯡xcel、Pdf、Word等常用格式文件,主要導(dǎo)出Excel文件。

      (2)支持各類輸出設(shè)備。要求報表生成系統(tǒng)能夠?qū)蟊磔敵龅礁鞣N設(shè)備,如支持多種打印機,對生成的報表可進(jìn)行精確的打印。

      (3)支持導(dǎo)出報表可編輯。要求導(dǎo)出的報表可以進(jìn)行人工編輯修改。

      2 系統(tǒng)設(shè)計與實現(xiàn)

      2.1 系統(tǒng)總體架構(gòu)設(shè)計

      整個報表生成系統(tǒng)的設(shè)計,遵循了軟件設(shè)計的分層結(jié)構(gòu),主要分為3層如圖1。最上層為用戶界面層(UI層),進(jìn)行與用戶的交互、報表的顯示、導(dǎo)出和打印。中間層為業(yè)務(wù)邏輯層,進(jìn)行邏輯運算、報表模板讀取、實現(xiàn)報表數(shù)據(jù)填充。底層為數(shù)據(jù)訪問層和通信層,數(shù)據(jù)訪問層直接和數(shù)據(jù)庫連接,實現(xiàn)數(shù)據(jù)篩選、統(tǒng)計、運算。通信層主要為TCP/IP通信和串口通信,實現(xiàn)數(shù)據(jù)傳輸。

      針對報表生成系統(tǒng)的通用性要求,整個系統(tǒng)采用了對象、組件技術(shù)進(jìn)行開發(fā)。實現(xiàn)基于Excel的COM組件,結(jié)合ADO.NET技術(shù)和標(biāo)準(zhǔn)的PL/SQL語句的報表生成方法。

      圖1 報表生成系統(tǒng)結(jié)構(gòu)圖

      2.2 數(shù)據(jù)訪問層設(shè)計

      數(shù)據(jù)訪問層采用接口實現(xiàn),主要完成對數(shù)據(jù)庫的操作和與邏輯層的數(shù)據(jù)交互,數(shù)據(jù)訪問層應(yīng)用了ADO.NET組件,通過調(diào)用ADO.NET提供的各種類庫(即Data Providers)方便訪問不同的數(shù)據(jù)庫,實現(xiàn)應(yīng)用程序與數(shù)據(jù)庫的交互。數(shù)據(jù)訪問層通過ADO.NET對象建立與數(shù)據(jù)庫的連接,調(diào)用數(shù)據(jù)庫的存儲過程,提取Excel報表所需的數(shù)據(jù),將其存入建立好的DataSet對象中,此時可以斷開與數(shù)據(jù)庫的連接,將操作得到的DataSet返回給業(yè)務(wù)邏輯層,作為報表的數(shù)據(jù)源。

      2.3 業(yè)務(wù)邏輯層設(shè)計

      系統(tǒng)采用C/S和B/S混合架構(gòu)設(shè)計,如圖2。C/S的業(yè)務(wù)邏輯層程序運行在客戶機上,B/S的業(yè)務(wù)邏輯層程序運行在Web服務(wù)器上。

      圖2 C/S和B/S混合模型結(jié)構(gòu)圖

      業(yè)務(wù)邏輯層主要完成報表數(shù)據(jù)的二次篩選、報表模板讀取和報表數(shù)據(jù)填充,主要功能分為3個部分:傳遞數(shù)據(jù)到數(shù)據(jù)訪問層,接收從數(shù)據(jù)訪問層返回的數(shù)據(jù);獲得從UI層傳來的數(shù)據(jù),傳遞數(shù)據(jù)到UI層;實現(xiàn)數(shù)據(jù)二次處理、邏輯運算等。在邏輯層通過C#.NET創(chuàng)建Excel報表之前,需要在工程中添加一個Excel的COM組件,在應(yīng)用程序中使用其提供的對象、方法開發(fā)Excel報表。邏輯層接收UI層傳遞的參數(shù),調(diào)用數(shù)據(jù)訪問層接口,獲得數(shù)據(jù)源,再通過COM接口庫將數(shù)據(jù)源填充到報表模板中,形成報表文件。如果數(shù)據(jù)訪問層返回的DataSet還不滿足條件,可在邏輯層使用LINQ語句進(jìn)行篩選、統(tǒng)計。例如對篩選出來的數(shù)據(jù)可以使用LINQ語句進(jìn)行分組、統(tǒng)計匯總等。同時邏輯層也控制報表文件的輸出格式,將最后形成的報表文件傳遞到用戶界面層顯示。

      2.4 模板文件設(shè)計

      模板文件是一個XLT格式的Excel文件,是定義報表生成數(shù)據(jù)時的具體方式。在模板中定義好表頭區(qū)域、報表數(shù)據(jù)區(qū)和表結(jié)尾區(qū)。表頭區(qū)域可以設(shè)置為固定表頭,也可以設(shè)置為動態(tài)表頭,根據(jù)需要進(jìn)行選擇。報表數(shù)據(jù)區(qū)是一個自適應(yīng)區(qū)域,它隨著數(shù)據(jù)的增長自動增長。報表結(jié)尾區(qū)隨著數(shù)據(jù)區(qū)的變化自動向后移動,始終保持在數(shù)據(jù)區(qū)下方。在Excel工作簿中繪制所需的報表樣式,設(shè)置模板格式化信息及公式,設(shè)置好后保存為模板格式,這樣就完成了模板文件的制作。使用模板文件可以確保創(chuàng)建的文件格式保持一致,調(diào)用模板時,系統(tǒng)打開的是一個工作備份,不會破壞模板文件。

      2.5 UI層設(shè)計

      用戶界面層是系統(tǒng)與用戶交互的主要部分,提供了數(shù)據(jù)的錄入和顯示。設(shè)計用戶登陸界面,使用戶通過崗位名稱、用戶名和密碼登錄系統(tǒng),在數(shù)據(jù)庫中設(shè)計用戶權(quán)限表和功能模塊表,該表由系統(tǒng)管理員進(jìn)行維護(hù),用戶登錄時,根據(jù)用戶名和崗位在用戶權(quán)限表中查找相應(yīng)權(quán)限,在用戶操作界面顯示相應(yīng)功能模塊。報表生成系統(tǒng)嵌入在統(tǒng)計管理模塊中,報表生成界面顯示用戶可以查詢的報表類型和名稱,提供查詢條件的輸入,比如輸入要查詢的開始時間、結(jié)束時間、股道和班次等。同時判斷輸入條件的合法性,若輸入條件不正確,則給出提示信息。界面上還設(shè)計了相應(yīng)的操作按鈕,提供報表生成、導(dǎo)出、打印、預(yù)覽、格式選擇和退出等按鈕功能。通過觸發(fā)按鈕事件將用戶的操作和選擇以參數(shù)形式傳遞給邏輯層進(jìn)行邏輯處理。同時,用戶界面層也接收邏輯層返回的報表文件,實現(xiàn)報表的展現(xiàn)。

      2.6 系統(tǒng)實現(xiàn)

      (1)數(shù)據(jù)訪問層實現(xiàn),部分代碼如下:

      (2)報表模板調(diào)用,部分代碼如下:

      (4)關(guān)閉進(jìn)程、釋放資源:

      在填寫Excel過程中可能會有異常發(fā)生,需要使用異常處理機制,給用戶提示信息,采取相應(yīng)措施,使程序可以繼續(xù)運行。

      3 具體應(yīng)用

      在洛陽石化鐵路運輸調(diào)度管理系統(tǒng)報表生成子系統(tǒng)中,采用了基于Excel的分層模板架構(gòu)的報表設(shè)計思路和方法,主要實現(xiàn)了企業(yè)的各類生產(chǎn)報表的生成、導(dǎo)出和打印如圖3。該系統(tǒng)的應(yīng)用不僅滿足企業(yè)的生產(chǎn)需求,也減輕了操作人員統(tǒng)計報表的工作量,提高了工作效率。

      圖3 洛陽分公司鐵路運輸部生產(chǎn)日報

      4 結(jié)束語

      在.NET環(huán)境下,通過運用數(shù)據(jù)庫技術(shù)、模板技術(shù)和組件技術(shù),采用C#語言設(shè)計了基于Excel的分層式模板架構(gòu)的企業(yè)報表生成系統(tǒng),實現(xiàn)了企業(yè)對報表的需求。采用Excel實現(xiàn),使頁面布局設(shè)計靈活,方便用戶的操作,滿足了企業(yè)對報表要求,成功開發(fā)了洛陽石化鐵路運輸調(diào)度管理系統(tǒng)報表生成子系統(tǒng),項目實施后具有很好的執(zhí)行效率和穩(wěn)定性,得到了用戶好評,證明了該方案具有很好的推廣價值和研究意義。

      [1] 陳國華. 基于Excel的報表引擎的研究與設(shè)計[J] . 計算機工程與設(shè)計,2004,25(4):526.

      [3] 東方人華,鄒敬. Visual C#.NET 范例入門與提高[M] . 北京:清華大學(xué)出版社, 2003.

      [4] 吳雷,袁兆山,李超. B/S結(jié)構(gòu)下的復(fù)雜報表實現(xiàn)技術(shù)的研究[J] . 計算機應(yīng)用研究,2006,23(5):83-85.

      [5] 吳鉑,吳秀麗,孫樹棟. 基于設(shè)計模式的報表生成組件的設(shè)計與實現(xiàn)[J] . 計算機工程與應(yīng)用,2004, 40(16):113-115,118.

      [6] Timothy Zapawa. Excel Advanced Report Development[M] .Publishing House of Electronics Industry, 2006.1.

      [7] R. Kishore, H. Zhang, R. Ramesh. Enterprise integration using the agent paradigm: foundations of multi-agent-based integrative business information systems[J] . Decision Support Systems, 2006, 42(1): 48-78.

      猜你喜歡
      報表邏輯管理系統(tǒng)
      刑事印證證明準(zhǔn)確達(dá)成的邏輯反思
      法律方法(2022年2期)2022-10-20 06:44:24
      基于James的院內(nèi)郵件管理系統(tǒng)的實現(xiàn)
      邏輯
      創(chuàng)新的邏輯
      LabWindows/CVI中Excel報表技術(shù)研究
      基于LED聯(lián)動顯示的違停管理系統(tǒng)
      女人買買買的神邏輯
      37°女人(2017年11期)2017-11-14 20:27:40
      從三大報表讀懂養(yǎng)豬人的成績單
      海盾壓載水管理系統(tǒng)
      中國船檢(2017年3期)2017-05-18 11:33:08
      基于RFID的倉儲管理系統(tǒng)實現(xiàn)
      黄浦区| 出国| 北京市| 宁化县| 南充市| 华蓥市| 天水市| 营山县| 阳山县| 华坪县| 大厂| 融水| 汉中市| 蓝田县| 出国| 禹城市| 县级市| 永靖县| 左贡县| 永仁县| 自贡市| 辽宁省| 克什克腾旗| 湖州市| 广宗县| 广南县| 封丘县| 南召县| 武夷山市| 赤城县| 剑川县| 岳西县| 民丰县| 定陶县| 阿巴嘎旗| 板桥市| 汕尾市| 南漳县| 开化县| 三台县| 开阳县|