亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        B/S下一種報(bào)表圖形化方法的研究與實(shí)現(xiàn)

        2016-01-27 12:31:43周?chē)?guó)祥

        高 涵, 周?chē)?guó)祥, 石 雷

        (合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥 230009)

        ?

        B/S下一種報(bào)表圖形化方法的研究與實(shí)現(xiàn)

        高涵,周?chē)?guó)祥,石雷

        (合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥230009)

        摘要:面向中小企業(yè)應(yīng)用系統(tǒng)的開(kāi)發(fā)中,報(bào)表是系統(tǒng)重要的組成部分。文章分析了一些主流報(bào)表制作工具及報(bào)表生成方法,通過(guò)對(duì)報(bào)表生成規(guī)則的了解,研究了MsChart控件在報(bào)表圖形化方面的應(yīng)用,并給出了報(bào)表數(shù)據(jù)圖形化的方法。該系統(tǒng)可為用戶提供直觀、具體的報(bào)表圖形化服務(wù),對(duì)一般企業(yè)用戶具有通用性。

        關(guān)鍵詞:信息管理系統(tǒng);報(bào)表生成系統(tǒng);B/S架構(gòu);MsChart控件;報(bào)表圖形化

        言在中小企業(yè)信息化系統(tǒng)廣泛應(yīng)用的今天,報(bào)表作為一般信息系統(tǒng)的通用需求,是辦公自動(dòng)化及信息管理系統(tǒng)、決策支持系統(tǒng)中信息處理和交互的主要方法之一。目前,我國(guó)各個(gè)領(lǐng)域的基礎(chǔ)數(shù)據(jù)都已基本完善,數(shù)據(jù)利用日益增多,大量統(tǒng)計(jì)分析類數(shù)據(jù)需要呈現(xiàn)給不同的用戶,如何快速高效地把業(yè)務(wù)需求轉(zhuǎn)變成統(tǒng)計(jì)報(bào)表是當(dāng)前信息管理系統(tǒng)需要解決的重要問(wèn)題。報(bào)表圖形化方法是一種對(duì)數(shù)據(jù)結(jié)果直觀的展示,非技術(shù)開(kāi)發(fā)人員可以通過(guò)報(bào)表圖形化工具自定義報(bào)表的查詢內(nèi)容和查詢展現(xiàn)方式,并可供其他用戶查看分析[1]。

        MsChart(Microsoft Chart Control)是一款在圖形顯示方面功能強(qiáng)大的Com組件,給圖表統(tǒng)計(jì)和報(bào)表圖形化提供了一個(gè)很好的解決辦法[2]。MsChart支持多種圖形顯示,以便開(kāi)發(fā)人員選擇不同的圖形來(lái)顯示各個(gè)方面的報(bào)表,如柱狀圖可以顯示銷售金額和銷售件數(shù)的對(duì)比,餅圖可以顯示銷售份額的對(duì)比,而曲線圖可以顯示價(jià)位走勢(shì)等;同時(shí)在圖的顯示信息方面還提供圖形上各個(gè)點(diǎn)的屬性操作,如可以定義圖形上各個(gè)點(diǎn)、標(biāo)簽、圖形的提示信息以及超鏈接等[3]。本文將結(jié)合MsChart控件的應(yīng)用來(lái)實(shí)現(xiàn)一種B/S架構(gòu)下的報(bào)表圖形化方法。

        1系統(tǒng)需求

        某珠寶銷售公司為適應(yīng)市場(chǎng)需要和加快公司信息化建設(shè),提出了基于核心數(shù)據(jù)庫(kù)和3層架構(gòu)的貨品倉(cāng)儲(chǔ)及銷售管理信息系統(tǒng)需求。3層架構(gòu)是指表示層(user interface, UI)、業(yè)務(wù)邏輯層(business logic layer, BLL)和數(shù)據(jù)訪問(wèn)層(data access layer, DAL)[4]。其中表示層主要用來(lái)支持用戶信息查詢、流程管理、查詢報(bào)表、客戶及網(wǎng)點(diǎn)管理等主要功能;業(yè)務(wù)邏輯層主要由3個(gè)應(yīng)用支撐組件組成,分別是業(yè)務(wù)應(yīng)用邏輯、系統(tǒng)管理應(yīng)用邏輯、組合查詢應(yīng)用邏輯;數(shù)據(jù)訪問(wèn)層主要實(shí)現(xiàn)了貨品、原材料、包裝品贈(zèng)品、維修品信息的交換與共享。查詢報(bào)表主要是用戶對(duì)庫(kù)存、物流、價(jià)格等信息的查詢與結(jié)果打印,并可以根據(jù)查詢結(jié)果直觀地顯示統(tǒng)計(jì)圖。該系統(tǒng)采用.Net+SQL Server開(kāi)發(fā),整個(gè)平臺(tái)的架構(gòu)圖如圖1所示。

        圖1 某珠寶公司貨品倉(cāng)儲(chǔ)及銷售平臺(tái)架構(gòu)圖

        2報(bào)表生成分析

        當(dāng)前流行的智能報(bào)表系統(tǒng)中,水晶報(bào)表作為國(guó)際性的商業(yè)智能軟件,能夠從任意數(shù)據(jù)源構(gòu)造報(bào)表,并能以表格、圖表、分組等各種形式展現(xiàn),功能強(qiáng)大、彈性高。但由于我國(guó)報(bào)表的特點(diǎn)與國(guó)際上有所差異,水晶報(bào)表沒(méi)有考慮到這些特殊情況,也沒(méi)有充分了解報(bào)表制作人員的習(xí)慣等,在實(shí)際應(yīng)用中無(wú)法滿足企業(yè)的需求[5]。國(guó)內(nèi)具有代表性的潤(rùn)乾報(bào)表和用友華表,擁有優(yōu)秀的報(bào)表設(shè)計(jì)系統(tǒng),充分滿足了國(guó)內(nèi)企業(yè)對(duì)報(bào)表格式的需要;但其功能單一,大部分是財(cái)務(wù)類報(bào)表,且很難制作格式靈活的報(bào)表,缺乏數(shù)據(jù)庫(kù)的數(shù)據(jù)分析功能[6]。

        報(bào)表的生成過(guò)程是設(shè)計(jì)一個(gè)邏輯完備的解析生成器,根據(jù)用戶定義的報(bào)表類型及屬性需求,讀取對(duì)應(yīng)的數(shù)據(jù)庫(kù)中的基本數(shù)據(jù),再按照顯示格式寫(xiě)入Excel文件[7]。在報(bào)表圖形化方面,目前市場(chǎng)上沒(méi)有較為統(tǒng)一的商業(yè)軟件,一般.Net中統(tǒng)計(jì)圖表動(dòng)態(tài)繪制需要在GridView中進(jìn)行較復(fù)雜的操作,效果也一般。此外可以引用dotnetCHARTING 控件對(duì)系統(tǒng)報(bào)表圖進(jìn)行調(diào)用,此圖表控件對(duì)中文支持比較好,對(duì).Net1.1和2.0也都支持,但是比較耗費(fèi)性能。本文采用MsChart控件,可根據(jù)業(yè)務(wù)需求開(kāi)發(fā)出不同類型的、豐富多彩的顯示圖,同時(shí)對(duì)常用的折線圖、餅圖和柱狀圖有較好的支持。

        3MsChart控件功能簡(jiǎn)介

        在VS2008中安裝完MsChart控件后可在工具箱中選擇Chart控件。

        ChartAreas是一個(gè)圖表的繪圖區(qū),如在一幅畫(huà)中顯示多個(gè)繪圖。每個(gè)繪圖區(qū)域包含獨(dú)立的圖表組、數(shù)據(jù)源,適用于多個(gè)圖表類型在一個(gè)繪圖區(qū)不兼容的情況。對(duì)于每一個(gè)繪圖區(qū)域,可以設(shè)置各自的屬性,如X和Y軸屬性、背景等。

        Titles是圖表的標(biāo)題集合,即圖表的標(biāo)題配置,同樣可以添加多個(gè)標(biāo)題。

        Annotations是一個(gè)圖形注解對(duì)象的集合,所謂注解對(duì)象,類似于對(duì)某個(gè)點(diǎn)的說(shuō)明。一個(gè)圖形上可以擁有多個(gè)注解對(duì)象,可以添加多種圖形樣式的注解對(duì)象,包括常見(jiàn)的箭頭、矩形、圖片等注解符號(hào);通過(guò)各個(gè)注解對(duì)象的屬性,可以方便地設(shè)置注解對(duì)象的放置位置、呈現(xiàn)的顏色、大小、文字內(nèi)容樣式等常見(jiàn)屬性。

        Legends是一個(gè)圖例的集合,即標(biāo)注圖形中各個(gè)線條或顏色的含義,同樣,一個(gè)圖片也可以包含多個(gè)圖例說(shuō)明。

        Series是表數(shù)據(jù)對(duì)象集合,為最重要的屬性,即實(shí)際的繪圖數(shù)據(jù)區(qū)域,實(shí)際呈現(xiàn)的圖形形狀由此集合中的每一個(gè)圖表來(lái)構(gòu)成,可以往集合里面添加多個(gè)圖表,每一個(gè)圖表可以有自己的繪制形狀、樣式、獨(dú)立的數(shù)據(jù)等。

        此外,MsChart 還有幾個(gè)常用的重要屬性和對(duì)象,如DataSourceID(MsChart 的數(shù)據(jù)源)、palette (圖表外觀定義)、width(MsChart的寬度)、height(MsChart 的高度)、points(數(shù)據(jù)點(diǎn)集合)等等[8]。

        在實(shí)際使用中,MSChart控件有3種方法來(lái)獲取數(shù)據(jù)[9],數(shù)據(jù)綁定的常用事件如下:

        Series1.Points.DataBind()

        綁定數(shù)據(jù)點(diǎn)集合,如果要在一個(gè)MsChart 控件的一個(gè)繪圖區(qū)(ChartArea)內(nèi)添加多個(gè)不同數(shù)據(jù)源的圖表,可用此方法主動(dòng)綁定數(shù)據(jù)集合,將表中指定字段的值綁定到指定的坐標(biāo)軸上;也可以給整個(gè)MsChart 綁定一個(gè)數(shù)據(jù)源,這樣MsChart 中的圖表全部可以使用該數(shù)據(jù)源作為統(tǒng)計(jì)來(lái)源。

        4報(bào)表圖形化的研究與實(shí)現(xiàn)

        4.1 方法研究

        本文所研究的報(bào)表圖形化工具,是根據(jù)數(shù)據(jù)源生成Excel報(bào)表,再通過(guò)MsChart控件將報(bào)表以統(tǒng)計(jì)圖的形式反映給用戶的方法,主要研究以下幾個(gè)問(wèn)題:

        (1) 文本報(bào)表的生成存儲(chǔ)。在選定報(bào)表種類之后用戶可以為部分屬性列提供過(guò)濾值,定制報(bào)表的生成數(shù)據(jù),即根據(jù)讀取到用戶選定的過(guò)濾值去數(shù)據(jù)庫(kù)中讀取數(shù)據(jù),根據(jù)選定的屬性生成報(bào)表表頭并將數(shù)據(jù)寫(xiě)入報(bào)表中。過(guò)濾值的設(shè)定主要分成時(shí)間段的設(shè)定和屬性列的設(shè)定。

        (2) 文本報(bào)表轉(zhuǎn)化成統(tǒng)計(jì)圖。主要根據(jù)所選報(bào)表類型決定生成統(tǒng)計(jì)圖的類型,用戶選定報(bào)表類型的同時(shí)也就確定了MsChart控件中的圖表類型,即一種文本報(bào)表對(duì)應(yīng)一種圖表類型;將文本報(bào)表中的屬性和數(shù)據(jù)傳到自定義Chart控件中,再通過(guò)調(diào)用生成當(dāng)前圖類的自定義Chart控件生成相應(yīng)的統(tǒng)計(jì)圖。

        (3) 統(tǒng)計(jì)圖的保存及顯示。在服務(wù)器端建立一個(gè)文件夾專門(mén)保存即時(shí)生成的統(tǒng)計(jì)圖,當(dāng)新增報(bào)表和統(tǒng)計(jì)圖時(shí),根據(jù)代碼中的命名規(guī)則將新建的統(tǒng)計(jì)圖保存在服務(wù)器端的文件夾中,并在數(shù)據(jù)庫(kù)關(guān)于報(bào)表的表中記錄統(tǒng)計(jì)圖的文件名。

        4.2 具體實(shí)現(xiàn)方法

        根據(jù)上述分析,報(bào)表圖形化工具的實(shí)現(xiàn)可分為3個(gè)步驟。

        (1) 用戶通過(guò)Web頁(yè)面選定報(bào)表類型。工具定義了網(wǎng)點(diǎn)庫(kù)存份額對(duì)比表、產(chǎn)品貨齡統(tǒng)計(jì)表、網(wǎng)點(diǎn)銷售分價(jià)位統(tǒng)計(jì)明細(xì)表、網(wǎng)店銷售分貨齡統(tǒng)計(jì)明細(xì)表、采購(gòu)計(jì)劃表、貨品配置表6種報(bào)表類型。在新增報(bào)表一項(xiàng)上調(diào)用winforreportout自定義控件,在此控件中可以選擇屬性過(guò)濾值,如時(shí)間段、網(wǎng)點(diǎn)、貨品類型、需要寫(xiě)入報(bào)表的屬性等,根據(jù)用戶的輸入,服務(wù)器端將數(shù)據(jù)庫(kù)中符合的數(shù)據(jù)放入DataSet中用來(lái)生成文本報(bào)表。生成文本報(bào)表的流程如圖2所示。

        (2) 在winforreportout控件窗體中,用戶可以通過(guò)勾選生成統(tǒng)計(jì)圖項(xiàng)來(lái)即時(shí)生成報(bào)表的統(tǒng)計(jì)圖。每種報(bào)表對(duì)應(yīng)一種或多種圖表,如網(wǎng)店銷售庫(kù)存份額對(duì)比表中的金額、件數(shù)對(duì)比對(duì)應(yīng)柱狀圖、份額對(duì)比對(duì)應(yīng)餅狀圖,產(chǎn)品貨齡統(tǒng)計(jì)表對(duì)應(yīng)折線圖等,每種圖的生成各自定義了一個(gè)控件,不同的報(bào)表類型生成統(tǒng)計(jì)圖的數(shù)量不同。其中柱狀圖和餅狀圖的生成較為簡(jiǎn)單,只需讀取相應(yīng)的屬性及屬性值,這些值在生成文本報(bào)表的同時(shí)已經(jīng)寫(xiě)入到相關(guān)的變量中;將該變量的值傳到Chart控件中,再將指定字段的值綁定到指定的坐標(biāo)軸上即可。折線圖的生成稍微復(fù)雜一些,需要根據(jù)不同的報(bào)表類型獲取不同的DataTable,如貨齡表在獲取貨齡的DataTable后根據(jù)貨齡分段在每個(gè)點(diǎn)取值,再連成折線即可生成統(tǒng)計(jì)圖。生成統(tǒng)計(jì)圖的流程如圖3所示。

        圖2 生成文本報(bào)表的流程

        圖3 生成統(tǒng)計(jì)圖的流程

        生成統(tǒng)計(jì)圖的代碼如下:

        public void CreatePicture()

        {

        try

        {

        ContrastColumnChart-chart.Titles["ChartTitle"].Text=ChartTitle;

        ContrastColumnChart-chart.Series["Serie1"].Points.DataBindXY(ChartX, ChartY);

        ContrastColumnChart-chart.ChartAreas["ChartArea1"].AxisX.Interval=1;

        ContrastColumnChart-chart.ChartAreas["ChartArea1"].AxisX.IntervalOffset=1;

        ContrastColumnChart-chart.ChartAreas["ChartArea1"].AxisX.LabelStyle.IsStaggered=true;

        ContrastColumnChart-chart.ChartAreas["ChartArea1"].AxisY.Title=YTitle;

        ContrastColumnChart-winMore.UpdateContent();

        ContrastColumnChart-chart.SaveImage(ChartFileName);

        }

        代碼中首先將傳遞來(lái)的ChartTitle值賦值給圖片的標(biāo)題值,再將數(shù)組ChartX、ChartY中的值綁定到坐標(biāo)軸X、Y上,分別設(shè)置X軸的間距、起始位置和交錯(cuò)顯示以及Y軸的文字標(biāo)題,最后按照前臺(tái)定義的圖片規(guī)格生成相應(yīng)的統(tǒng)計(jì)圖。

        (3) 生成的統(tǒng)計(jì)圖保存在服務(wù)器端,并通過(guò)在數(shù)據(jù)庫(kù)報(bào)表的信息表中定義一個(gè)bool值ReportIHasPic來(lái)判斷該報(bào)表是否有統(tǒng)計(jì)圖,另有一個(gè)int值ReportIPicNum來(lái)標(biāo)識(shí)該報(bào)表所含的圖片數(shù)量。當(dāng)用戶需要顯示統(tǒng)計(jì)圖時(shí),調(diào)用WinChartDisplay自定義控件,根據(jù)傳遞來(lái)的報(bào)表類型及報(bào)表ID號(hào),在服務(wù)器端找出符合特定命名規(guī)則的統(tǒng)計(jì)圖并顯示。

        報(bào)表圖形化方法整體框架及實(shí)現(xiàn)如圖4所示。

        圖4 報(bào)表圖形化實(shí)現(xiàn)流程

        5結(jié)束語(yǔ)

        在中小企業(yè)應(yīng)用系統(tǒng)中,報(bào)表的生成打印一直是重要的組成部分之一。本文在一般報(bào)表生成的基礎(chǔ)上重點(diǎn)研究了圖形化方法,目前所建立的解決方案已成功部署在某珠寶企業(yè)中,用戶可以按需打印報(bào)表并根據(jù)報(bào)表生成統(tǒng)計(jì)圖,極大地提高了工作效率,取得了很好的效果。

        [參考文獻(xiàn)]

        [1]崔永生,曹苗苗. 一種圖形化報(bào)表工具的設(shè)計(jì)與實(shí)現(xiàn)[J]. 信息技術(shù)與信息化,2012(4):65-68.

        [2]李懷川,吳孟春. 利用微軟圖表控件MsChart實(shí)現(xiàn)紫外線數(shù)據(jù)圖形化顯示[J]. 計(jì)算機(jī)與網(wǎng)絡(luò),2012(12):47-50.

        [3]朱健,莊科旻,周丹,等. MsChart在氣象數(shù)據(jù)圖形化顯示中的應(yīng)用[J]. 浙江氣象,2009(Z1):58-60.

        [4]高揚(yáng).基于.NET平臺(tái)的三層架構(gòu)軟件框架的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2011,21(2):77-80,85.

        [5]吳銀衛(wèi). 通用報(bào)表生成技術(shù)研究與應(yīng)用[D]. 北京:北京交通大學(xué),2010.

        [6]經(jīng)偉,周?chē)?guó)祥. 面向中小企業(yè)智能報(bào)表系統(tǒng)的研究與實(shí)現(xiàn)[J]. 合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2012,35(7):904-907.

        [7]李云亮,李相樞..NET環(huán)境下兩種Web報(bào)表解決方案的對(duì)比分析[J]. 計(jì)算機(jī)應(yīng)用研究,2004,21(6):212-214.

        [8]孫仁鵬. 利用MsChart控件動(dòng)態(tài)生成通用在線圖表[J]. 軟件導(dǎo)刊,2011(1):170-171.

        [9]張成才,王永信. 利用MsChart控件動(dòng)態(tài)生成統(tǒng)計(jì)圖[J]. 鄭州大學(xué)學(xué)報(bào):工學(xué)版,2007,28(3):73-75.

        (責(zé)任編輯胡亞敏)

        周?chē)?guó)祥(1956-),男,安徽合肥人,合肥工業(yè)大學(xué)教授,碩士生導(dǎo)師.

        Study and implementation of a graphical report tool in B/S

        GAO Han,ZHOU Guo-xiang,SHI Lei

        (School of Computer and Information, Hefei University of Technology, Hefei 230009, China)

        Abstract:During the application system development for small and medium-sized enterprises, a variety of reports are an important part of the system. In this paper, some mainstream methods in report generation are analyzed. Based on the rules of report generation, the application of MsChart control in graphical report is analyzed, and the method of converting report data to chart is proposed. The system can provide users with intuitive and specific graphical reports, and it is applicable for general business users.

        Key words:information management system; report generator; B/S structure; MsChart control; graphical report

        中圖分類號(hào):TP317.1

        文獻(xiàn)標(biāo)識(shí)碼:A

        文章編號(hào):1003-5060(2015)03-0341-04

        doi:10.3969/j.issn.1003-5060.2015.03.011

        作者簡(jiǎn)介:高涵(1988-),男,安徽合肥人,合肥工業(yè)大學(xué)碩士生;

        基金項(xiàng)目:國(guó)家自然科學(xué)基金重點(diǎn)資助項(xiàng)目(60633060)

        收稿日期:2013-12-20;修回日期:2014-03-21

        毛片在线啊啊| 国产精品无码久久久久久久久久| 国产农村妇女高潮大叫| 国产亚洲日本人在线观看| 综合成人亚洲网友偷自拍| 激情内射亚洲一区二区三区| 国产精品va无码一区二区| 亚洲成人免费无码| 综合久久加勒比天然素人| 天堂网站一区二区三区| 国产成人无码a区在线观看视频| 亚洲最大在线精品| 久久国产女同一区二区| 青春草免费在线观看视频| 一本加勒比hezyo无码人妻| 国产丝袜精品不卡| 色综合中文字幕综合网| av天堂午夜精品一区| 无码熟妇人妻av在线影片| 国产午夜亚洲精品一级在线| 性感熟妇被我玩弄到高潮| 少妇久久久久久人妻无码| 欧美性videos高清精品| 日日躁欧美老妇| 色播视频在线观看麻豆 | 亚洲国产精品综合久久网各| 人妻丰满熟妇av无码区hd| 亚洲中文字幕第一第二页| av无码精品一区二区三区| 福利视频一二三在线观看| 8090成人午夜精品无码| 久久久亚洲免费视频网| 久久精品国产亚洲av无码娇色 | 亚洲av无码成人精品国产| 国产专区国产av| 99热在线播放精品6| 一本色道久久88加勒比| 人妻哺乳奶头奶水| 九九精品无码专区免费| 国产高清不卡二区三区在线观看 | 九九精品国产亚洲av日韩|