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

        ?

        基于XLS模板的城市地下管線成果報表自動生成方法研究

        2018-01-09 12:59:15蔣利韓李濤劉建勛
        軟件導(dǎo)刊 2017年12期
        關(guān)鍵詞:報表表格組件

        蔣利+韓李濤+劉建勛

        摘要:城市地下管線探測成果上交時,探測管線成果數(shù)據(jù)需按照規(guī)定的格式生成報表。數(shù)據(jù)成果報表存在許多單元格合并、表格跨頁、跨頁保留表頭等要求,對此,提出一種基于XLS模板的地下管線成果數(shù)據(jù)生成方法。先結(jié)合規(guī)范要求自定義報表模板,然后在管線成果數(shù)據(jù)與模板單元之間建立關(guān)聯(lián),最后基于NPOI組件庫生成符合規(guī)范要求的城市地下管線數(shù)據(jù)成果Excel報表。實驗結(jié)果表明,該方法能夠生成符合規(guī)范要求的復(fù)雜Excel報表。

        關(guān)鍵詞:Excel報表;XLS模板;地下管線;NPOI

        DOIDOI:10.11907/rjdk.172024

        中圖分類號:TP301

        文獻(xiàn)標(biāo)識碼:A 文章編號:1672-7800(2017)012-0009-03

        Abstract:When the results of urban underground pipeline detection are submitted, the achievements of detecting pipeline data to generate report forms in accordance with the prescribed format. For the productive report forms of urban underground pipeline data have complex demand such as merging cells、generating forms across the page and retaining headers across the page, this paper proposes a method based on the XLS template to generate report forms of urban underground pipeline data, firstly, designing custom report template, then establishing connections between the results of pipeline data and template units, finally, generating Excel reports of urban underground pipeline result data based on NPOI library normatively. The experimental results show that the method can generate complex Excel report forms which meet the specification requirements.

        Key Words:Excel report forms; XLS templates; underground pipeline; NPOI

        0 引言

        自動生成數(shù)據(jù)報表不僅是城市地下管線數(shù)據(jù)上報系統(tǒng)的必備功能之一,而且在許多管理應(yīng)用系統(tǒng)都需要將大量數(shù)據(jù)成果按照自定義格式生成Excel報表,從而減輕勞動量,提高生產(chǎn)效率。常用的Excel報表生成方式有兩種:①調(diào)用Office的COM組件進(jìn)行報表導(dǎo)出[1];②調(diào)用NPOI[2]第三方組件進(jìn)行報表導(dǎo)出。

        第一種方式需要在安裝Office軟件的前提下,調(diào)用Office的COM組件、引入Microsoft Excel object library完成導(dǎo)出工作[3-5],該過程冗雜,進(jìn)程較慢,若要完成多數(shù)據(jù)導(dǎo)出或多用戶操作,需要產(chǎn)生多個Office進(jìn)程,這一缺陷在導(dǎo)出自定義復(fù)雜表格的時候頗為顯著[6]。

        第二種方式依賴NPOI組件庫,能夠脫離Excel相關(guān)組件,可同時支持Web應(yīng)用導(dǎo)出及本地應(yīng)用導(dǎo)出Excel。利用NPOI還可進(jìn)行Excel報表樣式、字體、文字位置等設(shè)置[7],生成復(fù)雜報表更為容易。文獻(xiàn)[6]、文獻(xiàn)[7]利用NPOI組件實現(xiàn)了對規(guī)則數(shù)據(jù)、簡單樣式報表的自動生成與導(dǎo)出,主要利用NPOI組件直接創(chuàng)建工作簿,然后初始化工作簿并進(jìn)行規(guī)則數(shù)據(jù)的插入。文獻(xiàn)[8]引入Excel模板進(jìn)行數(shù)據(jù)報表生成,能夠生成復(fù)雜格式的報表,表頭可以合并單元格,但表格主體數(shù)據(jù)行格式較為簡單,無單元合并問題,沒有實現(xiàn)表格循環(huán)。

        城市地下管線成果報表格式要求較為復(fù)雜,且需導(dǎo)出的成果數(shù)據(jù)量較多。因此,本文在對比分析上述方法的基礎(chǔ)上,設(shè)計一種基于Excel模板調(diào)用NPOI組件進(jìn)行城市地下管線成果報表自動生成的方法。

        1 報表生成設(shè)計

        1.1 報表格式分析

        城市地下管線成果數(shù)據(jù)Excel報表格式較為復(fù)雜,如圖1所示。

        (1)Excel報表不單純解決如何合并表頭單元格實現(xiàn)復(fù)雜表頭的問題,表格表頭中包含的數(shù)值并非一成不變,標(biāo)題以及管線信息標(biāo)題等為不變的數(shù)據(jù)量,而空格處的信息會隨著報表的下次循環(huán)而發(fā)生相應(yīng)改變。

        (2)除表頭外,表格主體數(shù)據(jù)行中的數(shù)據(jù)填充也不僅僅是將數(shù)據(jù)按照規(guī)則順序填充。數(shù)據(jù)本身是管線的相關(guān)屬性信息,包含點號、連接點信息以及距離等信息。點號之間有順序的先后關(guān)系。管線種類多樣,導(dǎo)出的管線信息報表需要將不同種類管線信息按照管線方向進(jìn)行歸納整理,而距離等信息需要在單元格之間進(jìn)行相關(guān)計算。

        (3)在表尾部分,隨著下一表格的生成,還需進(jìn)行相關(guān)注記與分頁、添加備注、總長度信息以及增添檢查者等相關(guān)變量信息。

        1.2 技術(shù)流程

        鑒于地下管線成果報表格式的復(fù)雜性,選擇基于xls模板的報表生成方法,將導(dǎo)出數(shù)據(jù)與Excel格式相互分離。在開發(fā)過程中,將數(shù)據(jù)報表的表格樣式、字體樣式等不變內(nèi)容由Excel模板實現(xiàn),而報表中的管線數(shù)據(jù)、探測單位信息等變化內(nèi)容由程序中的代碼實現(xiàn)填入。這樣,在程序開發(fā)過程中只需關(guān)心變化的管線數(shù)據(jù),而不必花費精力關(guān)注Excel表格樣式,從而實現(xiàn)高效導(dǎo)出表格,如圖2所示。

        2 導(dǎo)出表格

        城市地下管線成果表自動生成系統(tǒng)開發(fā)環(huán)境:Visual Studio2010,基于.net Framework 4.0,開發(fā)語言為C#,實現(xiàn)包括模板制作、NPOI引用添加、數(shù)據(jù)準(zhǔn)備、基于NPOI的報表生成幾個關(guān)鍵步驟。

        2.1 制作Excel模板

        模板制作較為簡單,只需制作與要求格式相同的表格即可。無論是表頭還是表尾的表格合并,只需要在表格工具中利用合并單元格功能完成。在需要填充數(shù)據(jù)內(nèi)容的單元格中添加參數(shù)變量,設(shè)置參數(shù)變量的格式、數(shù)值類型,利用Excel工具或其它表格制作工具都行,只需保存的格式為xls文件即可。地下管線導(dǎo)出制作模板如圖3所示。

        2.2 添加NPOI引用

        在進(jìn)行開發(fā)前需要調(diào)用第三方NPOI組件。在NPOI官方網(wǎng)站中下載相關(guān)的DLL文件,在開發(fā)平臺的解決方案管理器中,添加DLL文件,添加的文件有NPOI、NPOI.OpenXml4Net、NPOI.OOXML、NPOI.OpenXmlFormats共4個DLL文件。添加完成后需要添加相關(guān)的命名空間。

        2.3 數(shù)據(jù)準(zhǔn)備

        城市地下管線數(shù)據(jù)存儲在Acess數(shù)據(jù)庫中,導(dǎo)出工作前需要進(jìn)行數(shù)據(jù)庫連接。城市地下管線數(shù)據(jù)庫包含污水、雨水、電信、天然氣等許多類型的管線數(shù)據(jù),每一類管線數(shù)據(jù)包含一個管點表與管段表。為了方便管線成果報表自動生成,在數(shù)據(jù)導(dǎo)出前需要進(jìn)行數(shù)據(jù)準(zhǔn)備工作。構(gòu)造TablePoints和TableLines,分別按照管線相關(guān)順序遍歷數(shù)據(jù)。準(zhǔn)備工作如下:

        (1)讀入成果表管線連接關(guān)系文件。地下管線數(shù)據(jù)庫中管段類型多樣,包含污水管線、雨水、電信、天然氣等多類管線,各類管線連接方式多樣。所以,為了方便管線數(shù)據(jù)導(dǎo)出,在導(dǎo)出前,需要進(jìn)行管線連接關(guān)系文件的讀入。在系統(tǒng)中,該文件可由用戶自定義輸入,對管線的連接進(jìn)行自定義編輯。

        (2)TablePoints數(shù)據(jù)的填充。數(shù)據(jù)的準(zhǔn)備工作主要以管點號為依據(jù)展開,建立管點匯總數(shù)組,對管點數(shù)目與類型匯總,依據(jù)管點號從DataGridView中獲取相應(yīng)的數(shù)據(jù)填充。

        (3)TableLines數(shù)據(jù)填充。在初始化TableLines時,其行數(shù)為TablePoints行數(shù)的2倍,填充過程分3步:①對沒有前驅(qū)管點的第一個管點進(jìn)行處理;②對既有前驅(qū)管點進(jìn)行后繼管點、中間管點處理;③對后繼管點的最后管點進(jìn)行處理。

        (4)補齊TablePoints和TableLines,使其行數(shù)正好為單個表格行數(shù)的整倍數(shù),以滿足每頁為同一類型管段數(shù)據(jù)要求。

        2.4 NPOI組件導(dǎo)出Excel表格關(guān)鍵技術(shù)

        (1)讀取Excel模板,獲取IWorkbook對象。

        using (var fileStream=new FileStream(file, FileMode.Open, FileAccess.Read))

        (2)關(guān)聯(lián)數(shù)據(jù)到導(dǎo)出模板。對模板中的各個參數(shù)常量進(jìn)行定義,將數(shù)據(jù)準(zhǔn)備階段生成的兩個Table表格中的數(shù)據(jù)綁定到模板參數(shù)變量中。

        2.5 成果展示

        基于XLS模板,結(jié)合NPOI技術(shù)批量自動生成城市地下管線成果報表如圖4所示。報表包含類型為雨水管道相關(guān)信息,表頭為調(diào)查單位、個人相關(guān)信息以及管線類型等信息;表格主體數(shù)據(jù)行中包含管點的連接方式、距離、埋深、材質(zhì)等信息,每一頁表格中包含的管段種類都為同一類型。管點的前驅(qū)連接點與后繼連接點在表格中都能體現(xiàn),管段之間以空白單元格隔開。當(dāng)本頁表格容量無法滿足此類型管點個數(shù)時,將會循環(huán)到下一頁,以此實現(xiàn)數(shù)據(jù)的批量導(dǎo)出。表尾部分包含頁碼、備注以及統(tǒng)計信息。該表格展現(xiàn)了基于XLS模板結(jié)合NPOI技術(shù),批量導(dǎo)出自定義報表的效果。

        3 結(jié)語

        本文基于C#語言開發(fā)平臺,基于XLS模板并結(jié)合NPOI組件實現(xiàn)了Excel表格的導(dǎo)出。地下管線成果數(shù)據(jù)導(dǎo)出案例證明,模板與NPOI組件的結(jié)合可以高效實現(xiàn)海量數(shù)據(jù)的循環(huán),滿足對導(dǎo)出表格格式的復(fù)雜要求。在工程實踐項目中運用本文方法,可以高效處理批量數(shù)據(jù)導(dǎo)出工作。

        參考文獻(xiàn):

        [1] 蔡小艷,李龍騰,葛玉,等.基于C#的Excel數(shù)據(jù)導(dǎo)入導(dǎo)出研究與實現(xiàn)[J].智能計算機與應(yīng)用,2014(5):83-85.

        [2] 陳峰.使用NPOI有效讀寫Office文件[J].金融科技時代,2011(6):69-70.

        [3] 李菲菲,劉天時.一種基于ASP.NET的Excel報表導(dǎo)入與導(dǎo)出方法[J].軟件導(dǎo)刊,2012(8):29-30.

        [4] 康維虎,柳浪濤.基于.NET的Excel報表設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2016(5):101-103.

        [5] 蘇慶,李忠良,吳偉民.在C#.NET下實現(xiàn)數(shù)據(jù)導(dǎo)入Excel的方法研究[J].計算機與現(xiàn)代化,2011(4):29-31.

        [6] 昌兆文,劉湖平,曾紹軍.基于NPOI導(dǎo)出Excel文件的研究與實現(xiàn)[J].中國管理信息化,2013(15):93-94.

        [7] 張麗妮.Excel技術(shù)在大學(xué)生創(chuàng)新項目管理中的應(yīng)用[J].軟件導(dǎo)刊,2011(3):58-60.

        [8] 馮洋,王仲鋒.NPOI在開發(fā)Excel報表中的應(yīng)用[J].長春工程學(xué)院學(xué)報:自然科學(xué)版,2015(2):109-121.

        (責(zé)任編輯:杜能鋼)

        猜你喜歡
        報表表格組件
        無人機智能巡檢在光伏電站組件診斷中的應(yīng)用
        能源工程(2022年2期)2022-05-23 13:51:50
        《現(xiàn)代臨床醫(yī)學(xué)》來稿表格要求
        新型碎邊剪刀盤組件
        重型機械(2020年2期)2020-07-24 08:16:16
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        統(tǒng)計表格的要求
        U盾外殼組件注塑模具設(shè)計
        LabWindows/CVI中Excel報表技術(shù)研究
        從三大報表讀懂養(yǎng)豬人的成績單
        風(fēng)起新一代光伏組件膜層:SSG納米自清潔膜層
        太陽能(2015年11期)2015-04-10 12:53:04
        一区二区精品国产亚洲| 久久久久久久久中文字幕| 用力草我小逼视频在线播放| 水蜜桃精品视频在线观看| 日韩精品一区二区午夜成人版| 成全视频高清免费| 蜜桃av无码免费看永久| 亚洲av老熟女一区二区三区| 久久天天躁狠狠躁夜夜av| 久久99精品久久久久久野外| 日本一区二区三本视频在线观看| 久久精品国产亚洲av久按摩| 国产伦精品免编号公布| 欧美精品区| 国产精东一区二区三区| 一二三区无线乱码中文在线 | 色婷婷一区二区三区久久亚洲 | 亚洲第一页综合图片自拍| 国产精品无码专区视频| 男女搞黄在线观看视频| 欧美性猛交xxx嘿人猛交| 一二三四视频社区在线| 成人永久福利在线观看不卡| 亚洲熟女熟妇另类中文| 国产精品妇女一二三区| 正在播放一区| 极品少妇在线观看视频| 中文字幕一区二区三区四区五区| 色偷偷久久一区二区三区| 99热这里只有精品久久6| 最近更新中文字幕一区二区 | 在线观看视频免费播放| 极品少妇被猛的白浆直喷白浆| 欧美一级在线全免费| 最新亚洲视频一区二区| 国产精品美女一区二区视频 | 无码a级毛片免费视频内谢5j| 女女女女bbbbbb毛片在线| 又色又爽又黄的视频网站| 日韩精品人妻系列中文字幕| 日韩亚洲欧美中文在线|