• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Excel的Web報(bào)表的設(shè)計(jì)與實(shí)現(xiàn)

    2014-04-29 00:00:00王艷

    摘 要:采用分層技術(shù),把Excel報(bào)表生成的HTML代碼分離成數(shù)據(jù)層和表結(jié)構(gòu)層,通過自定義的HTML標(biāo)簽標(biāo)識數(shù)據(jù)層與表結(jié)構(gòu)層的對應(yīng)關(guān)系、位置、屬性等信息;在服務(wù)器端,編寫相應(yīng)的自定義HTML標(biāo)簽的操作代碼,實(shí)現(xiàn)報(bào)表填報(bào)、報(bào)表自動(dòng)計(jì)算匯總、報(bào)表輸出等功能。通過在開灤集團(tuán)紀(jì)檢監(jiān)察管理系統(tǒng)中的運(yùn)用,基于Excel的Web報(bào)表是實(shí)現(xiàn)報(bào)表快速開發(fā)、運(yùn)用的非常優(yōu)秀、可行的方法。

    關(guān)鍵詞:Web報(bào)表;Excel;分層;自定義HTML標(biāo)簽

    中圖分類號:TP311.52

    Web是目前最流行的互聯(lián)網(wǎng)技術(shù),通過網(wǎng)絡(luò)應(yīng)用程序促進(jìn)了網(wǎng)絡(luò)上人與人間的信息交換和協(xié)同合作,其模式更加以用戶為中心。Web報(bào)表就是借助Web平臺(tái),可以讓用戶在線查看、編輯、保存、輸出的報(bào)表。一個(gè)報(bào)表由兩部分組成:表結(jié)構(gòu)和數(shù)據(jù)。表結(jié)構(gòu)是報(bào)表的框架,一般就是一些靜態(tài)的文字線條圖片,數(shù)據(jù)是報(bào)表的核心,一般通過數(shù)據(jù)庫獲取。

    在基于Web應(yīng)用系統(tǒng)中,經(jīng)常需要將相關(guān)數(shù)據(jù)以報(bào)表的形式輸出、顯示、打印,或者以Excel文檔的形式提供給用戶。由于存在極大是市場,各類基于Web的報(bào)表軟件多如牛毛,而質(zhì)量也是參差不齊,有價(jià)格非常高昂的,也有免費(fèi)的,但對于需要快速開發(fā)、經(jīng)常變化、結(jié)構(gòu)繁雜的報(bào)表,上面這些報(bào)表軟件就無能為力了,這要求我們找到一個(gè)很好的解決辦法。

    1 指導(dǎo)思想

    平常看到的報(bào)表都是平面的,根據(jù)Auto CAD層的思想,可以把報(bào)表看成是由表結(jié)構(gòu)層和數(shù)據(jù)層兩大邏輯層組成。通過對報(bào)表的不同角度的理解,考慮在Web中顯示的報(bào)表,Web所有顯示的信息從服務(wù)器端到客戶端都是基于HTTP協(xié)議,網(wǎng)頁瀏覽器主要通過HTTP協(xié)議與網(wǎng)頁服務(wù)器交互并獲取網(wǎng)頁,這些網(wǎng)頁由URL指定,文件格式通常為HTML,并由MIME在HTTP協(xié)議中指明,所以報(bào)表可以是HTML文件,任何復(fù)雜的報(bào)表也都可以由HTML語言來構(gòu)成,只要找到一款能把報(bào)表變成HTML文件的就解決了報(bào)表的結(jié)構(gòu)問題。Excel是微軟辦公套裝軟件的一個(gè)重要的組成部分,它可以進(jìn)行各種數(shù)據(jù)的處理、統(tǒng)計(jì)分析和輔助決策操作,廣泛地應(yīng)用于管理、統(tǒng)計(jì)財(cái)經(jīng)、金融等眾多領(lǐng)域。自從n年前Excel擊敗Lotus,獨(dú)霸電子表格軟件市場以來,所有的表格類軟件都不能不充分考慮Excel,尋找Excel照顧不到的功能點(diǎn),所有的表格類軟件都要被迫考慮和Excel兼容,能夠?qū)雽?dǎo)出Excel文件。實(shí)際結(jié)果就是,只要能和表格沾上邊的軟件無一不是在Excel的陰影下艱難度日。國內(nèi)的Web報(bào)表工具市場就更是如此,能不能很好地導(dǎo)入導(dǎo)出Excel文件,成了Web報(bào)表工具軟件的殺手锏,而此論文探討的web報(bào)表正是基于Excel。通過自定義的HTML標(biāo)簽的標(biāo)識可以很好地定位把數(shù)據(jù)層與表結(jié)構(gòu)層的對應(yīng)關(guān)系及顯示的樣式等信息,實(shí)現(xiàn)數(shù)據(jù)與表結(jié)構(gòu)的整合。

    2 設(shè)計(jì)

    基于上面的指導(dǎo)思想,把報(bào)表看做是數(shù)據(jù)與表結(jié)構(gòu)的合成:

    圖1 報(bào)表結(jié)構(gòu)

    2.1 報(bào)表結(jié)構(gòu)。把設(shè)計(jì)好的Excel報(bào)表另存為html格式文件,通過記事本打開,可以得到Excel報(bào)表的HTML代碼。

    2.2 程序設(shè)計(jì)

    (1)報(bào)表填報(bào)。目前絕大部分Web運(yùn)用程序在獲取數(shù)據(jù)時(shí)都是使用由label、textbox、droplist等控件組成的數(shù)據(jù)輸入界面,而這些界面需要程序員設(shè)計(jì),界面美觀性和用戶性不一定很好。而此部分設(shè)計(jì)采用報(bào)表填報(bào)界面作為數(shù)據(jù)輸入界面,這就達(dá)到了報(bào)表數(shù)據(jù)輸入和報(bào)表顯示的一致性,在報(bào)表數(shù)據(jù)輸入界面,把報(bào)表里應(yīng)該填報(bào)的部分用特殊字符串標(biāo)識,不同的字符串代表不同的功能,如果輸入文本,用”$(WB)”表示;數(shù)值用”$(SZ)”表示;$(TX 154;22 XT)$ $(WB)定義一個(gè)長154px,寬22px的文本框;$(DDL;正處級;副處級;正科級;副科級;一般管技;關(guān)鍵崗 LDD)$ $(WB)表示的是一個(gè)下拉框,此下拉框有nul、正處級、副處級、正科級、副科級、一般管技、關(guān)鍵崗這幾個(gè)下拉選項(xiàng)。通過編寫對HTML解析的類實(shí)現(xiàn)對自定義HTML代碼的解釋,在前臺(tái)顯示出來。

    圖2 Excel設(shè)計(jì)的報(bào)表樣式

    (2)報(bào)表自動(dòng)計(jì)算匯總。Excel擁有強(qiáng)大的運(yùn)算匯總等功能,為了增加報(bào)表的各種計(jì)算匯總功能,通過編寫自定義的解釋器實(shí)現(xiàn)了對報(bào)表的行列的計(jì)算、匯總,在Excel中設(shè)計(jì)報(bào)表格式時(shí)只需要嚴(yán)格按照自定義解釋器的語法規(guī)則,在報(bào)表中對計(jì)算、匯總項(xiàng)進(jìn)行相應(yīng)的字符串標(biāo)識,程序就能進(jìn)行解析,處理。如:$(SZ)$(MT'38'=[39:68]TM)$ 表示當(dāng)前格的值是第39到第68格的值的和;$(SZ)$(MT'3'='39'+'75'-'183'TM)$ 表示當(dāng)前格的值為第39格加上第75格減去第183格的值。

    (3)報(bào)表輸出。由于Web報(bào)表是基于Excel的,所以在Excel中報(bào)表的各種外觀,如顏色、線條、字體都能在Web報(bào)表中完美展示。在Web中顯示只是其中的一項(xiàng)基本功能,能導(dǎo)出成Excel是很重要的,此功能實(shí)現(xiàn)了從Excel到Web報(bào)表再到Excel,完全滿足了絕大部分運(yùn)用對報(bào)表的需求。

    2.3 數(shù)據(jù)庫設(shè)計(jì)。根據(jù)上面程序的設(shè)計(jì)的需求和報(bào)表實(shí)現(xiàn)的簡便,所有報(bào)表數(shù)據(jù)分成不參與運(yùn)算匯總的文本部分和有可能參與運(yùn)算的數(shù)值部分。各部分均各作為一個(gè)字段存儲(chǔ)數(shù)據(jù),字段結(jié)構(gòu)采用“位置:數(shù)據(jù);位置:數(shù)據(jù);位置:數(shù)據(jù);……”的方法組成。

    3 實(shí)現(xiàn)

    依據(jù)上面的設(shè)計(jì),編寫了自定義HTML標(biāo)簽解釋類,自定義HTML標(biāo)簽和ASP.NET后臺(tái)代碼的交互類。在開灤集團(tuán)紀(jì)檢監(jiān)察管理系統(tǒng)報(bào)表功能開發(fā)中,采用ASP.NET實(shí)現(xiàn)了設(shè)計(jì)所提出報(bào)表填報(bào)、報(bào)表自動(dòng)匯總及報(bào)表輸出的功能,達(dá)到了復(fù)雜報(bào)表的快速、便捷開發(fā)與應(yīng)用。

    圖3 報(bào)表數(shù)據(jù)錄入

    4 結(jié)束語

    通過在開灤集團(tuán)紀(jì)檢監(jiān)察管理系統(tǒng)中的運(yùn)用,基于Excel的Web報(bào)表是實(shí)現(xiàn)報(bào)表快速開發(fā)、運(yùn)用的非常優(yōu)秀、可行的方法。此方法符合用戶的使用習(xí)慣,開發(fā)的報(bào)表簡潔、美觀、大方;對系統(tǒng)維護(hù)人員而言,簡化了復(fù)雜報(bào)表的制作、實(shí)現(xiàn)不用添加修改代碼而只要輸入報(bào)表結(jié)構(gòu)就能創(chuàng)建、填報(bào)、輸出報(bào)表。

    參考文獻(xiàn):

    [1]李愈馨,喬歡,李雷,崔萬瑞.基于Web的PDF報(bào)表實(shí)現(xiàn)技術(shù)[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2012(24).

    作者簡介:王艷(1982.11-),女,河北唐山人,助理工程師,本科。

    作者單位:開灤集團(tuán)信息與控制中心,河北唐山 063018

    西贡区| 汝南县| 清苑县| 梅河口市| 巴塘县| 英德市| 科技| 湘西| 牡丹江市| 石台县| 正安县| 巢湖市| 寿宁县| 全南县| 长垣县| 新津县| 若尔盖县| 城口县| 牡丹江市| 安达市| 营山县| 潜江市| 贵州省| 工布江达县| 鹿邑县| 忻州市| 烟台市| 双峰县| 克拉玛依市| 六安市| 安吉县| 滕州市| 大余县| 喜德县| 仙居县| 保定市| 安远县| 镇宁| 崇阳县| 沁阳市| 共和县|