• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于.NET的Excel報表設(shè)計與實現(xiàn)

      2016-05-14 21:31:20康維虎柳浪濤
      軟件導(dǎo)刊 2016年5期
      關(guān)鍵詞:信息管理系統(tǒng)

      康維虎 柳浪濤

      摘要:在企業(yè)信息管理系統(tǒng)中,欲使Excel報表既滿足系統(tǒng)需求又方便用戶使用較難做到。闡述了基于.NET的Excel報表設(shè)計與實現(xiàn)。使用Excel模板導(dǎo)入數(shù)據(jù),既方便統(tǒng)計匯總,又降低了編程難度。

      關(guān)鍵詞:.NET;信息管理系統(tǒng);Excel報表

      DOIDOI:10.11907/rjdk.161118

      中圖分類號:TP319

      文獻標識碼:A 文章編號:1672-7800(2016)005-0101-03

      0 引言

      企業(yè)信息化建設(shè)過程中,基于Excel的報表建設(shè)往往是不可缺少的一環(huán)。這是因為基于Excel的報表能夠幫助企業(yè)管理者全面了解和評價企業(yè)的財務(wù)狀況、經(jīng)營業(yè)績和現(xiàn)金流量,明確企業(yè)競爭地位,預(yù)測企業(yè)經(jīng)營前景。企業(yè)信息管理系統(tǒng)Excel報表導(dǎo)入導(dǎo)出在滿足企業(yè)應(yīng)用需求方面非常重要。大量的企業(yè)數(shù)據(jù)可以通過現(xiàn)有的網(wǎng)絡(luò)平臺及時、準確地匯總上報, 不僅實現(xiàn)了數(shù)據(jù)共享與融合,而且最大限度地減輕了操作人員的工作強度、減少了差錯率,節(jié)省了大量的人力、物力、財力。

      基于Excel報表建設(shè)的研究很多。文獻[1]為了滿足用戶動態(tài)需求,提出利用OLE與VBA相結(jié)合,對Excel實現(xiàn)一種面向用戶的報表技術(shù),使組態(tài)人員能定制報表格式和報表數(shù)據(jù)元素理論。文獻[2]以在線評教系統(tǒng)為基礎(chǔ),通過引入COM組件來實現(xiàn)在線評教系統(tǒng)與Excel組件相結(jié)合,以滿足各類可變數(shù)據(jù)源報表的生成。文獻[3]為了實現(xiàn)基于B/S架構(gòu)下Excel的報表功能,首先對Excel報表生成的數(shù)據(jù)進行分層,然后利用自定義標簽來標識各層之間的對應(yīng)關(guān)系、位置屬性等信息,最后在服務(wù)器端實現(xiàn)對自定義標簽的識別及報表的填寫、輸出操作。文獻[4]采用分層結(jié)構(gòu)來實現(xiàn)電力系統(tǒng)中的Excel報表生成功能,首先從數(shù)據(jù)庫提取原始數(shù)據(jù)并經(jīng)計算生成報表的基礎(chǔ)數(shù)據(jù),然后通過人機交互的方式從基礎(chǔ)數(shù)據(jù)中選出需要的數(shù)據(jù)來生成報表。

      為降低成本、提高工作效率和質(zhì)量,增強企業(yè)的市場競爭力,本文對兗礦集團管理系統(tǒng)進行了再建。統(tǒng)一了集團所有報表樣式,設(shè)計了固定模版,通過Web系統(tǒng)導(dǎo)入數(shù)據(jù),實現(xiàn)在Internet 上管理數(shù)據(jù)、調(diào)整數(shù)據(jù)、匯總統(tǒng)計數(shù)據(jù)、瀏覽查詢報表和打印報表功能,完成企業(yè)信息化管理。

      1 相關(guān)技術(shù)

      1.1 ADO.NET

      ADO.NET(Active Data Objects.NET)是.NET Framework的重要組成部分,ADO.NET能便捷地訪問數(shù)據(jù)庫,是Excel表和SQL Sever數(shù)據(jù)庫溝通的橋梁。主要提供一個面向?qū)ο蟮臄?shù)據(jù)存儲結(jié)構(gòu),用來開發(fā)數(shù)據(jù)庫應(yīng)用程序。在Microsoft Office體系中,各種數(shù)據(jù)格式文檔(如.accdb,.xlsx,.docx)之間可以相互查詢或操作。ADO是VBA訪問外部數(shù)據(jù)的唯一方式,也是最便捷的方式。當Excel表的數(shù)據(jù)成為海量數(shù)據(jù)時,需要借助后臺數(shù)據(jù)庫存儲,這時,Excel表與數(shù)據(jù)庫的相互訪問就必須用ADO方式。使用ADO對非Microsoft Office數(shù)據(jù)源訪問以及對Microsoft Office數(shù)據(jù)源訪問,多數(shù)情況下可以簡化代碼,帶來更好的性能.

      1.2 OLE技術(shù)

      對象鏈接與嵌入OLE(Object Linking and Embedding,簡稱OLE)是一種面向?qū)ο蟮募夹g(shù),利用這種技術(shù)可開發(fā)重復(fù)使用的軟件組件(COM)。OLE不僅可進行桌面應(yīng)用程序集成,而且還定義和實現(xiàn)了一種允許應(yīng)用程序作為軟件“對象”(數(shù)據(jù)集合和操作數(shù)據(jù)的函數(shù))進行“連接”的機制,這種連接機制和協(xié)議稱為組件對象模型(Component Object Model),簡稱COM。COM使OLE可以對具有對象功能的系統(tǒng)重構(gòu),極大擴展了功能,使用戶可以跨多個平臺進行應(yīng)用軟件的開發(fā)。OLE可以用來創(chuàng)建復(fù)合文檔,包含創(chuàng)建不同源應(yīng)用程序、不同類型的數(shù)據(jù),因此它可以把文字、聲音、圖像、表格、應(yīng)用程序等組合在一起。OLE基于組件對象模型,允許在多個應(yīng)用程序間互操作,在商業(yè)電子表格、字處理程序、財務(wù)軟件包和其它應(yīng)用程序上,通過客戶服務(wù)器體系共享和鏈接信息。

      1.3 COM組件

      COM component(COM組件)是微軟公司為計算機軟件生產(chǎn)更符合人類行為方式而開發(fā)的一種軟件開發(fā)技術(shù),是關(guān)于如何建立組件以及如何通過組件建立應(yīng)用程序的一個規(guī)范,說明了如何動態(tài)交替更新組件。在COM構(gòu)架下,人們可以開發(fā)出各種各樣功能專一的組件,然后按需要將它們組合起來,構(gòu)成復(fù)雜的應(yīng)用系統(tǒng)。

      1.4 技術(shù)準備

      首先在添加引用前必須安裝Office軟件,其次要添加引用Microsoft.Office.Interop.Excel.dll,這個引用是操作Excel的關(guān)鍵。要利用COM組件將組件引入到.NET環(huán)境中。在項目中打開添加引用對話框,選擇COM欄,在COM列表中找到Microsoft Excel 11.0 Object Library點擊“確定”即可[1]。

      2 系統(tǒng)特點

      2.1 數(shù)據(jù)源結(jié)構(gòu)

      本管理信息系統(tǒng)的基本功能是:根據(jù)系統(tǒng)不同層次對象、資金項目,采用不同的資金項目模板,及時、有效地反饋各單位的資金狀況,并進行上報審批,最后進行匯總統(tǒng)計,根據(jù)統(tǒng)計后的結(jié)果制定相應(yīng)的制度與措施。各單位可選擇模板,把不同的模板導(dǎo)入到信息系統(tǒng)中。系統(tǒng)通過存儲結(jié)構(gòu)和動態(tài)SQL語句等技術(shù),經(jīng)由ADO.NET控制客

      戶端自動生成Excel報表。

      2.2 自動計算匯總

      兗礦集團子公司遍布全國各地,涉及到的勾稽關(guān)系較多,公式也不一樣,用戶只需輸入基礎(chǔ)數(shù)據(jù),系統(tǒng)便會自動計算匯總數(shù),簡化了用戶操作,增加了數(shù)據(jù)的準確性。系統(tǒng)中大部分數(shù)據(jù)都是直接從數(shù)據(jù)庫里查詢出來,但有些數(shù)據(jù)還需要通過計算得出,比如維持簡單再生產(chǎn)資金分匯總項和明細項,匯總項不能直接查詢,要通過明細項計算得到。如果這些數(shù)據(jù)都用手工計算后再錄入,將會耗費大量的時間,降低工作效率。

      3 Excel報表數(shù)據(jù)導(dǎo)入

      Excel報表數(shù)據(jù)導(dǎo)入流程見圖1。

      為了快速把成千上萬條數(shù)據(jù)導(dǎo)入到信息系統(tǒng),需要借助Excel表操作, Excel表導(dǎo)入數(shù)據(jù)庫步驟:

      (1)先選擇固定模版,再進行加工,以兗礦集團維持簡單再生產(chǎn)年初計劃表為例,表頭固定后,內(nèi)容需要按序號添加。

      (2)根據(jù)上傳文件路徑,獲取文件后綴名,判斷文件是否為.xls格式,判斷采用Path.GetExtension 方法,該方法返回值包含指定路徑的擴展名(包括“.”)的String、空引用(在Visual Basic中為Nothing)或Empty。如果path為空引用(在 Visual Basic中為Nothing),則GetExtension返回空引用(在Visual Basic中為 Nothing)。如果path不具有擴展名信息,則GetExtension返回Empty。

      (3)模版的表頭信息是否完整。首先,連接字符串string connString= "Provider=Microsoft.Jet.OLEDB.4.0;DataSource="+filePath+";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1;' // 指定擴展屬性為 Microsoft Excel 8.0 (97) 9.0 (2000) 10.0 (2002),第一行不作為數(shù)據(jù)返回,以文本方式讀??; fileType = FileType.xls。其次,引用工作表上的特定地址范圍,指定后面跟有美元符號和該范圍的工作表名稱,例如:select * from [Sheet1$A:AD];在信息系統(tǒng)中,檢查到模版的表頭信息不完整時流程會直接中斷。反之,導(dǎo)入成功,程序結(jié)束。

      4 Excel報表數(shù)據(jù)導(dǎo)出

      (1)根據(jù)需求,創(chuàng)建相應(yīng)的Excel工作簿對象模版文件。若創(chuàng)建失敗,則返回。

      (2)設(shè)置模板文件存放位置,并判斷模版文件是否存在。若模版不存在,則返回;若存在,則打開Excel文件,先創(chuàng)建Excel應(yīng)用程序?qū)ο蟮囊粋€實例,相當于打開Excel應(yīng)用程序。

      5 結(jié)語

      隨著企業(yè)信息化進程的加快,不同業(yè)務(wù)系統(tǒng)的建立和大量業(yè)務(wù)數(shù)據(jù)的產(chǎn)生促使信息系統(tǒng)功能更加完善,Excel報表系統(tǒng)提高了企業(yè)辦公效率。遠程管理和維護報表功能,能夠?qū)崿F(xiàn)負載均衡,使報表軟件部署在分布式集群服務(wù)器上。計劃任務(wù)、批量處理報表及報表存檔功能,提供了靈活的批量報表生成功能。兗礦集團管理系統(tǒng)基于Excel報表,實現(xiàn)了批量數(shù)據(jù)文件導(dǎo)入導(dǎo)出功能,速度快,具有良好的用戶體驗性。本系統(tǒng)對于復(fù)雜報表格式導(dǎo)出非常簡單有效,可以簡化大量編程操作,適合于各類報表系統(tǒng)開發(fā)。

      參考文獻:

      [1] 林艷華,吳健,周勝杰. 基于Excel的電力監(jiān)控通用報表系統(tǒng)的設(shè)計與實現(xiàn)[J]. 計算機工程與科學(xué),2008,30(4):124-127.

      [2]舒清錄,廖明梅.基于.NET平臺的Excel報表研究與實現(xiàn)[J].大理學(xué)院學(xué)報, 2012,11(4):18-21.

      [3]王艷.基于Excel的Web報表的設(shè)計與實現(xiàn)[J].計算機光盤軟件與應(yīng)用, 2012(2):137-139.

      [4]林艷,吳健,周勝杰.基于Excel 的電力監(jiān)控通用報表系統(tǒng)設(shè)計與實現(xiàn)[J]. 2008,30(4):124-127.

      [5]朱波,張峰. ASP.NET平臺上基于Office操作集的報表生成方案[J].實驗室研究與探索[J]. 2007,26(10):59-62.

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

      猜你喜歡
      信息管理系統(tǒng)
      三維可視化信息管理系統(tǒng)在選煤生產(chǎn)中的應(yīng)用
      信息管理系統(tǒng)在工程項目管理的應(yīng)用
      基于三維TGIS的高速公路綜合信息管理系統(tǒng)
      SaaS模式下的房地產(chǎn)中介公司信息管理系統(tǒng)
      高速公路綠色通道信息管理系統(tǒng)開發(fā)與實踐
      且末县| 宾川县| 黔西| 泰来县| 祁阳县| 锦屏县| 克东县| 拉萨市| 杭锦后旗| 灵武市| 织金县| 巴楚县| 靖边县| 临朐县| 江门市| 大化| 怀化市| 伊吾县| 辉南县| 漠河县| 通江县| 盈江县| 乳山市| 郴州市| 南通市| 琼海市| 湘乡市| 宣武区| 平江县| 南澳县| 焉耆| 罗山县| 凯里市| 祁东县| 习水县| 延吉市| 濉溪县| 黑龙江省| 三门县| 临猗县| 隆德县|