999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2018-01-09 12:59:15蔣利韓李濤劉建勛
軟件導刊 2017年12期
關鍵詞:信息

蔣利+韓李濤+劉建勛

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

關鍵詞:Excel報表;XLS模板;地下管線;NPOI

DOIDOI:10.11907/rjdk.172024

中圖分類號:TP301

文獻標識碼: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 引言

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

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

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

城市地下管線成果報表格式要求較為復雜,且需導出的成果數據量較多。因此,本文在對比分析上述方法的基礎上,設計一種基于Excel模板調用NPOI組件進行城市地下管線成果報表自動生成的方法。

1 報表生成設計

1.1 報表格式分析

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

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

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

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

1.2 技術流程

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

2 導出表格

城市地下管線成果表自動生成系統開發環境:Visual Studio2010,基于.net Framework 4.0,開發語言為C#,實現包括模板制作、NPOI引用添加、數據準備、基于NPOI的報表生成幾個關鍵步驟。

2.1 制作Excel模板

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

2.2 添加NPOI引用

在進行開發前需要調用第三方NPOI組件。在NPOI官方網站中下載相關的DLL文件,在開發平臺的解決方案管理器中,添加DLL文件,添加的文件有NPOI、NPOI.OpenXml4Net、NPOI.OOXML、NPOI.OpenXmlFormats共4個DLL文件。添加完成后需要添加相關的命名空間。

2.3 數據準備

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

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

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

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

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

2.4 NPOI組件導出Excel表格關鍵技術

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

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

(2)關聯數據到導出模板。對模板中的各個參數常量進行定義,將數據準備階段生成的兩個Table表格中的數據綁定到模板參數變量中。

2.5 成果展示

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

3 結語

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

參考文獻:

[1] 蔡小艷,李龍騰,葛玉,等.基于C#的Excel數據導入導出研究與實現[J].智能計算機與應用,2014(5):83-85.

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

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

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

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

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

[7] 張麗妮.Excel技術在大學生創新項目管理中的應用[J].軟件導刊,2011(3):58-60.

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

(責任編輯:杜能鋼)

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 国产一国产一有一级毛片视频| 久久精品国产免费观看频道| 国产国产人免费视频成18| 无码日韩人妻精品久久蜜桃| 亚洲日本一本dvd高清| 色成人综合| 国产美女一级毛片| 试看120秒男女啪啪免费| 国产美女无遮挡免费视频网站| 欧美啪啪精品| 伊人狠狠丁香婷婷综合色| 亚洲天堂视频在线观看免费| 性视频一区| 亚洲a级毛片| 久久精品无码国产一区二区三区| 毛片在线播放a| 日韩精品无码一级毛片免费| 亚洲中文字幕在线观看| www.亚洲一区| 在线亚洲精品自拍| 国产精品无码作爱| a色毛片免费视频| 国产福利在线免费| 在线免费亚洲无码视频| 在线国产综合一区二区三区| 久热精品免费| 性欧美久久| 黄色网站在线观看无码| 精品国产免费第一区二区三区日韩| 欧美一级高清视频在线播放| 一本色道久久88| 国产另类乱子伦精品免费女| 免费看a毛片| 91九色最新地址| 97青青青国产在线播放| 精品人妻系列无码专区久久| 中文字幕中文字字幕码一二区| 黄色国产在线| 亚洲天堂久久久| 亚洲九九视频| 尤物特级无码毛片免费| 四虎在线观看视频高清无码 | 亚洲黄色网站视频| 手机精品福利在线观看| 中文字幕人成乱码熟女免费| 国产精品自在线天天看片| 国产激爽大片在线播放| 国产又黄又硬又粗| 久久久亚洲色| 狠狠综合久久| 久久a级片| 亚洲最新在线| 小说 亚洲 无码 精品| a级毛片在线免费观看| 国产一区二区在线视频观看| 午夜成人在线视频| 欧美国产日产一区二区| 国产第一页免费浮力影院| 国产91线观看| 人妻少妇乱子伦精品无码专区毛片| 免费看一级毛片波多结衣| 秘书高跟黑色丝袜国产91在线| 中文字幕日韩欧美| 国产黄在线免费观看| 毛片最新网址| 国产精品13页| 风韵丰满熟妇啪啪区老熟熟女| 国产尤物视频在线| 精品色综合| 精品夜恋影院亚洲欧洲| 亚洲大学生视频在线播放| 欧美亚洲一二三区| 热九九精品| 亚洲激情区| 亚洲日韩图片专区第1页| 日a本亚洲中文在线观看| 国产男女免费视频| 九九久久精品免费观看| 99久久国产综合精品女同| 国产高清免费午夜在线视频| 这里只有精品在线| 亚洲国产一区在线观看|