国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法

      文檔序號(hào):8258570閱讀:223來(lái)源:國(guó)知局
      一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法,特別涉及的是基于JSPT框架下XML語(yǔ)言中的數(shù)據(jù)報(bào)表動(dòng)態(tài)生成的方法。
      【背景技術(shù)】
      [0002]在開(kāi)發(fā)商業(yè)智能處理系統(tǒng)時(shí),除了要能提供各種分析優(yōu)化決策樹(shù)等方法和工具來(lái)輔助各項(xiàng)管理決策外,還需有完整的包含有數(shù)據(jù)庫(kù)連接報(bào)表設(shè)計(jì)數(shù)據(jù)處理預(yù)覽打印等功能的報(bào)表解決方案,而當(dāng)前眾多的處理系統(tǒng)中往往忽略了后一部分須婦,一個(gè)完整的商業(yè)智能處理系統(tǒng)中一個(gè)很重要的部分就是如何利用系統(tǒng)的數(shù)
      據(jù)來(lái)定義編制出各種類(lèi)型樣式的報(bào)表本文介紹的報(bào)表解決方案是.NET框架下,基于XML,在網(wǎng)上遠(yuǎn)程提供對(duì)圖表(2D 3D)交叉表多維分析立方體等多種樣式的支持,從而較好地解決了連接數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)處理報(bào)表設(shè)誅打印等問(wèn)題。
      [0003]

      【發(fā)明內(nèi)容】

      [0004]一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法:主要由四個(gè)部分組成;
      1.首先是報(bào)表的引擎架構(gòu);其整個(gè)報(bào)表引擎可分為兩部分:報(bào)表設(shè)計(jì)部分和報(bào)表顯示部分報(bào)表設(shè)計(jì)部分(Design, time)是傳統(tǒng)的Windows應(yīng)用程序,能讓用戶(hù)設(shè)計(jì)和制作一張所需要的報(bào)表,包括選擇數(shù)據(jù)源,設(shè)計(jì)報(bào)表樣式,設(shè)計(jì)圖表等報(bào)表顯示部分(Run — time)則是Web應(yīng)用程序,可以得到最終數(shù)據(jù)填入后形成的報(bào)表,并可打印報(bào)表引擎的核心采用了基于XML的架構(gòu),當(dāng)在Design — time設(shè)計(jì)完一張報(bào)表后,實(shí)際上引擎生成了一個(gè)描述這張報(bào)表信息的XML文件口當(dāng)用戶(hù)觀看報(bào)表時(shí),Run—t ime取出這張報(bào)表的XML文件進(jìn)行解析,讀取報(bào)表的信息;然后從數(shù)據(jù)庫(kù)讀取這張報(bào)表所需要的數(shù)據(jù),生成數(shù)據(jù)XML文件;由報(bào)表的樣式生成樣式XML文件;最后將這兩個(gè)XML文件進(jìn)行組合,形成一張最終的報(bào)表.2.報(bào)表引擎設(shè)計(jì)中涉及的組件;由于是基于JSP框架下的報(bào)表,所以必須需要其JSP組件,則其組件構(gòu)成分為;
      (I)JSP Framework組件,設(shè)計(jì)是建立在.NET平臺(tái)之上的JSP Framework是.NET平臺(tái)的程序設(shè)計(jì)模型,用于構(gòu)建和運(yùn)行應(yīng)用程序和XML web services這些組件使用標(biāo)準(zhǔn)的獨(dú)立于平臺(tái)的協(xié)議(如XML SDAP和HTTP).NET Framework由兩個(gè)主要部分組成:公共語(yǔ)言運(yùn)行庫(kù)和一個(gè)統(tǒng)一的類(lèi)庫(kù)集,包括用于Web應(yīng)用程序和XML Web services的ASP.NETE酣,用于智能客戶(hù)端應(yīng)用程序的Windows窗體,和用于松稱(chēng)合數(shù)據(jù)訪(fǎng)問(wèn)的AD0.NET.(2).XML組件;整個(gè)Report引擎的核心是基于XML的。
      [0005]XML是一種描述型的標(biāo)記語(yǔ)言。其優(yōu)點(diǎn)是既可以在這個(gè)文本文件中存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù),也可以在其中存儲(chǔ)非結(jié)構(gòu)化數(shù)據(jù)H——也就是說(shuō),它能包含和描述“粗糙的”文檔數(shù)據(jù),就如它描述“規(guī)則的”表格數(shù)據(jù)一樣。報(bào)表的所有信息都儲(chǔ)存在XML文檔中,供生成報(bào)表時(shí)解析. (3).0fice WebComponent組件;報(bào)表引擎中的圖表控件,是采用Microsoft Oficeweb Component來(lái)實(shí)現(xiàn)的。Microsoft Ofice Web Component是用于向Web頁(yè)添加電子表格、圖表和數(shù)據(jù)處理功能的ActiveX控件的集合。
      [0006]由于OficeWebComponent是完全可編程的,因而在很多設(shè)計(jì)環(huán)境中都可使用這些組件來(lái)建立復(fù)雜的、交互的和基于Web的解決方案。共有三種Ofice Web Component ;Spreadsheet組件、Chart組件和PivotTable組件。本文的圖表控件使用的是Chart組件。Chart組件放置在用戶(hù)窗體上以后,若無(wú)法在設(shè)計(jì)時(shí)添加數(shù)據(jù),只需右鍵單擊Chart組件,然后單擊快捷菜單中的“屬性工具箱”命令,即可以對(duì)Chart組件的格式進(jìn)行局部修改。Chart組件在用戶(hù)窗體中應(yīng)用后,所有的數(shù)據(jù)和大部分的格式屬性都必須通過(guò)編程設(shè)置。在運(yùn)行時(shí),使用SetData方法來(lái)真正將數(shù)據(jù)寫(xiě)入Chart組件。
      [0007](4).ActiveX組件;在實(shí)現(xiàn)報(bào)表引擎的打印功能時(shí),為了讓每個(gè)可以瀏覽到報(bào)表的客戶(hù)端都能打印報(bào)表,就需用程序通過(guò)網(wǎng)頁(yè)去修改客戶(hù)端的注冊(cè)表,這樣使用了 ActiveX組件技術(shù)。
      [0008]ActiveX控件與JAVA的小應(yīng)用程序在表面上很類(lèi)似,都能讓網(wǎng)絡(luò)開(kāi)發(fā)商在他們的網(wǎng)址上放置一些小的應(yīng)用程序,但實(shí)際上ActiveX控件與JAVA小應(yīng)用程序有著完全不同的內(nèi)涵。ActiveX控件和其他類(lèi)型的應(yīng)用程序的唯一區(qū)別就在于=ActiveX控件不能依賴(lài)于它本身而存在。也就是說(shuō),ActiveX控件不能像其他應(yīng)用程序一樣直接運(yùn)行,它必須作為應(yīng)用程序的一部分,比如作為Web頁(yè)或者是其他類(lèi)型的ActiveX的載體程序的一部分。其實(shí),ActiveX控件的主要特征之一,是它可以方便地加入到支持C0M(組件對(duì)象模型,ComponentObjectModel)的應(yīng)用程序中。ActiveX控件實(shí)際上是在OLE控件的基礎(chǔ)上附加一些功能而形成的。同OLE—樣,ActiveX控件同樣描述那些能在應(yīng)用程序中共享的部分。與OLE不同的是,ActiveX控件能在Internet上共享。另外,ActiveX能夠在網(wǎng)絡(luò)環(huán)境中支持OLE特性。也就是說(shuō),一旦OLE把應(yīng)用程序裝入系統(tǒng)來(lái)共享組件,那么ActiveX就可以讓?xiě)?yīng)用程序在Internet上共享組件。Interact的開(kāi)發(fā)商仍可以在他們的Web頁(yè)上加入ActiveX控件。如果控件已在用戶(hù)系統(tǒng)中注冊(cè),它就會(huì)自動(dòng)地作為網(wǎng)頁(yè)的一部分顯示在用戶(hù)的Web瀏覽器上。如果網(wǎng)頁(yè)上的ActiveX控件沒(méi)有在系統(tǒng)上注冊(cè),該控件就會(huì)自動(dòng)下載到用戶(hù)的計(jì)算機(jī)上,自動(dòng)注冊(cè)并自動(dòng)顯示在網(wǎng)頁(yè)上。在這方面,ActiveX控件很像JAVA應(yīng)用程序,他們都能為網(wǎng)頁(yè)提供編程內(nèi)容。ActiveX控件和JAVA應(yīng)用程序都能被用做嵌入網(wǎng)頁(yè)的小應(yīng)用程序。網(wǎng)頁(yè)不再被限定為靜態(tài)的內(nèi)容。因此采用ActiveX技術(shù),我們可以通過(guò)網(wǎng)頁(yè)修改客戶(hù)端的注冊(cè)表。
      [0009]3.從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)并轉(zhuǎn)換成特定格式XML文檔的算法;由于從數(shù)據(jù)庫(kù)中讀出的數(shù)據(jù)是存在一個(gè)Data Table對(duì)象中的,而報(bào)表引擎需要的是一個(gè)按分組對(duì)應(yīng)的樹(shù)結(jié)構(gòu)狀XML對(duì)象,因此需要一個(gè)算法來(lái)實(shí)現(xiàn)這一轉(zhuǎn)換。因?yàn)榉纸M情況是不定的,總數(shù)也可變化,因此我們通過(guò)一個(gè)遞歸函數(shù)Find Node來(lái)實(shí)現(xiàn)尋找一條數(shù)據(jù)對(duì)應(yīng)樹(shù)上點(diǎn)位置的功能。當(dāng)所有的數(shù)據(jù)都填入對(duì)應(yīng)的樹(shù)結(jié)點(diǎn)中后,整個(gè)轉(zhuǎn)換也就完成了。下面就是這個(gè)算法的結(jié)構(gòu):
      public XmlNode FindNode(XmlNode root, DataRow dr, int groupindex)
      (if(groupindex==this._alGroup.Count)return root ;
      string groupname:this._alGroup[groupindex].ToStringO ;string groupvalue=,:try (
      groupvalue=dr[groupname].ToStringO ;)catch {)
      foreach(XmlNode xn in root.ChildNodes)
      (if(groupvalue==XMLTools.FindAttribute (xn, DataXMLConst.da_Group_GroupValue))
      {return FindNode(xn, dr,++groupindex);
      }}
      XmlNode node=XMLTools.AddXmlChild(root, groupname);
      XMLTools.AddAttribute(node,DataXMLConst.da_Group_GroupValue,groupvalue);return FindNode(node, dr,++groupindex);
      4.報(bào)表引擎的使用過(guò)程;首先在報(bào)表項(xiàng)目中新建一張報(bào)表。其頁(yè)面分為兩部分,占大部分的左邊是具體制作報(bào)表的區(qū)域,而右邊是一個(gè)解決方案瀏覽器(Solut1n Explorer),類(lèi)似于Visual Stud1.NET,列出了當(dāng)前解決方案里的所有項(xiàng)目,及項(xiàng)目中的所有文件,供用戶(hù)選擇,編輯。報(bào)表分為以下幾個(gè)部分:
      報(bào)表頭(Report Header):報(bào)表的開(kāi)始部分;
      頁(yè)眉(Page Header):報(bào)表每頁(yè)的頁(yè)眉:
      報(bào)表內(nèi)容(Details):報(bào)表的詳細(xì)內(nèi)容,例如數(shù)據(jù)表格等:
      報(bào)表尾(Report Footer):報(bào)表的結(jié)尾部分;
      頁(yè)腳(Page Footer):報(bào)表每頁(yè)的頁(yè)腳。
      [0010]向設(shè)計(jì)區(qū)域添加報(bào)表的控件時(shí),只需簡(jiǎn)單地從工具箱(ToolBox)里拖動(dòng)想要的控件到指定的位置就可
      以了??晒﹫?bào)表選擇的控件有以下幾種:
      線(xiàn)(Line):報(bào)表中的線(xiàn)條,可單獨(dú)存在,也可組成表格;
      靜態(tài)文本(ConstText):報(bào)表中固定不變的文字,如報(bào)表標(biāo)題等;
      圖片(Image):報(bào)表中的圖片,如報(bào)表上公司商標(biāo)、Logo等;
      統(tǒng)計(jì)項(xiàng)(Aggregat1n):報(bào)表中的統(tǒng)計(jì)值,如總數(shù),總和,平均值等:
      圖表(Chart):報(bào)表中的圖表,比如柱狀圖,餅圖等,由實(shí)際數(shù)值生成。
      [0011]每個(gè)控件都可以指定它的屬性(Property),比如文本可以設(shè)定它的位置、大小、字體、顏色、樣式等。
      [0012]圖表設(shè)置與Office中圖表的設(shè)置非常相似。先選擇圖表的種類(lèi),Office支持的圖表在這個(gè)報(bào)表引擎中幾乎都支持,如柱狀圖(Column),條狀圖(Bar),線(xiàn)圖(Line),餅圖(Pie),塊狀圖(Area)等。整張報(bào)表完成之后,經(jīng)編譯就可以在瀏覽器上看報(bào)表結(jié)果了。
      【主權(quán)項(xiàng)】
      1.一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法:該方法主要是利用JSP框架下基于XML及利用OFFICE組件及其ACTIVEX控件。
      2.根據(jù)權(quán)利要求1的JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法,此方法主要分為四部分:引擎架構(gòu)、引擎設(shè)計(jì)中涉及的組件、從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)并轉(zhuǎn)換成特定格式XML文檔的算法、報(bào)表引擎的使用過(guò)程。
      3.根據(jù)權(quán)利索要求2的方法主要部分中的引擎架構(gòu);其特征為:報(bào)表設(shè)計(jì)部分和報(bào)表顯示部分;a.報(bào)表設(shè)計(jì)部分(Design, time)是傳統(tǒng)的Windows應(yīng)用程序,能讓用戶(hù)設(shè)計(jì)和制作一張所需要的報(bào)表,包括選擇數(shù)據(jù)源,設(shè)計(jì)報(bào)表樣式,設(shè)計(jì)圖表;b.報(bào)表顯示部分(Run-time)則是Web應(yīng)用程序,可以得到最終數(shù)據(jù)填入后形成的報(bào)表,并可打印。
      4.根據(jù)權(quán)利索要求2的方法主要部分中的引擎設(shè)計(jì)中涉及的組件;其特征為:包含.NET Framework、XML、office Web Component、ActiveX 組件。
      5.根據(jù)權(quán)利索要求4的方法設(shè)計(jì)是建立在.NET平臺(tái)之上的.NETFramework是.NET平臺(tái)的程序設(shè)計(jì)模型,用于構(gòu)建和運(yùn)行應(yīng)用程序和XML web services這些組件使用標(biāo)準(zhǔn)的獨(dú)立于平臺(tái)的協(xié)議(如XML SDAP和HTTP); 根據(jù)權(quán)利索要求4的方法設(shè)計(jì)是建立XML是一種描述型的標(biāo)記語(yǔ)言。
      6.報(bào)表的所有信息都儲(chǔ)存在XML文檔中,供生成報(bào)表時(shí)解。
      7.根據(jù)權(quán)利索要求4 的方法設(shè)計(jì)是 Office Web Component, Microsoft Office WebComponent是用于向Web頁(yè)添加電子表格、圖表和數(shù)據(jù)處理功能的ActiveX控件的集合。
      8.根據(jù)權(quán)利索要求4的方法設(shè)計(jì)ActiveX控件的主要特征之一,是它可以方便地加入到支持COM(組件對(duì)象模型,Component Object Model)的應(yīng)用程序中。
      9.根據(jù)權(quán)利索要求2的方法主要部分中的從數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)并轉(zhuǎn)換成特定格式XML文檔的算法。
      10.根據(jù)權(quán)利索要求2的方法設(shè)計(jì)是根據(jù)最終的要求生成WEB報(bào)表。
      【專(zhuān)利摘要】一種JSP框架下基于XML的Web數(shù)據(jù)報(bào)表生成方法:基于XML的通用的報(bào)表引擎,可用在因特網(wǎng)環(huán)境中遠(yuǎn)程生成各式各樣靈活的、專(zhuān)業(yè)的企業(yè)報(bào)表,整個(gè)報(bào)表引擎也是數(shù)據(jù)庫(kù)系統(tǒng)的一個(gè)關(guān)鍵部分。闡述了報(bào)表引擎的開(kāi)發(fā)過(guò)程與使用的技術(shù),如.NETFramework、XML、OfficeWebComponent、ActiveX,ApacheTomcat等,并展示了報(bào)表引擎的使用過(guò)程,從中可以看出該引擎的強(qiáng)大功能。
      【IPC分類(lèi)】G06F9-44, G06F17-30
      【公開(kāi)號(hào)】CN104572698
      【申請(qǐng)?zhí)枴緾N201310489830
      【發(fā)明人】不公告發(fā)明人
      【申請(qǐng)人】鎮(zhèn)江鼎拓科技信息有限公司
      【公開(kāi)日】2015年4月29日
      【申請(qǐng)日】2013年10月18日
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1