• 
    

    
    

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

      基于C#實現(xiàn)SQL Server與Excel間數(shù)據(jù)的導入導出

      2013-11-12 13:11:08
      科技視界 2013年27期
      關鍵詞:數(shù)據(jù)表單元格腦癱

      閆 淼

      (吉林電子信息職業(yè)技術學院 信息技術學院,吉林 吉林 132021)

      1 數(shù)據(jù)庫數(shù)據(jù)的導入與導出

      一般信息系統(tǒng)運行初始,首先需要初始化一些基礎數(shù)據(jù),如數(shù)據(jù)字典,然后再錄入信息系統(tǒng)需要處理的數(shù)據(jù)。如果人工初始這些數(shù)據(jù),效率低,易出錯,這時我們可以提前準備好初始化數(shù)據(jù),一次性導入數(shù)據(jù)庫中,此過程稱為向數(shù)據(jù)庫導入數(shù)據(jù)。

      當信息系統(tǒng)運行一段時間后,需要將其中一些數(shù)據(jù)導出作為備份,或將導出數(shù)據(jù)進行格式處理后生成相應報表,一般將數(shù)據(jù)庫數(shù)據(jù)導出為相關文件,此過程稱為由數(shù)據(jù)庫導出數(shù)據(jù)。

      2 數(shù)據(jù)導出存在問題

      當數(shù)據(jù)庫數(shù)據(jù)導出至Excel文件時,通常有如下幾種數(shù)據(jù)發(fā)生變化:

      ①形如“001”的字符串數(shù)據(jù)導出至Excel工作表單元格時,變?yōu)閿?shù)值“1”。

      ②形如“220203198002210551”的字符串數(shù)據(jù)導出至Excel工作表單元格時,變?yōu)閿?shù)值“2.20203E+17”。

      ③形如“2012-1-2”的日期數(shù)據(jù)導出至Excel工作表單元格時,變?yōu)椤?012/1/2”,日期格式發(fā)生變化。

      發(fā)生以上數(shù)據(jù)變化的原因是Excel工作表單元格默認格式為“常規(guī)”引起的。在下面的示例中將給出解決方法。

      3 示例實現(xiàn)

      本示例實現(xiàn)客戶表(client)數(shù)據(jù)的導入與導出。程序運行界面如圖1所示,客戶表各字段類型如圖2所示,準備導入數(shù)據(jù)的Excel工作表數(shù)據(jù)如圖3所示,導入數(shù)據(jù)后客戶表如圖4所示,由客戶表導出數(shù)據(jù)至Excel工作表顯示如圖3所示。

      圖1 導入數(shù)據(jù)后界面

      圖2 客戶表各字段類型

      圖3 Excel工作表內(nèi)導入/導出數(shù)據(jù)

      圖4 客戶表導入數(shù)據(jù)后

      說明:本文僅實現(xiàn)數(shù)據(jù)導入導出過程中涉及的重要步驟及方法。

      實現(xiàn)步驟:

      (1)添加引用

      為項目添加.NET引用:Microsoft.Office.Interop.Excel,版本11。

      (2)導入數(shù)據(jù)

      ①獲取Excel工作表數(shù)據(jù),生成數(shù)據(jù)集

      方法說明,參數(shù)“fileName”表示導入數(shù)據(jù)所在Excel文件的路徑及文件名;參數(shù)“sheetName”表示導入數(shù)據(jù)所在工作表的名稱,生成結果以“DataSet”類型返回,代碼如下:

      ②將數(shù)據(jù)集內(nèi)數(shù)據(jù)導入至數(shù)據(jù)庫相關表

      解決辦法是從數(shù)據(jù)集讀取一條記錄就插入至數(shù)據(jù)庫客戶表一條,直至數(shù)據(jù)集內(nèi)所有記錄插入完畢,為使數(shù)據(jù)成功導入數(shù)據(jù)表,可以在代碼中加入了事務處理,即應用“SqlTransaction”類實現(xiàn)事務處理。

      1.3.3 腦癱兒童運動障礙評估 腦癱兒童粗大運動功能障礙程度評估:使用腦性癱瘓粗大運動功能分類系統(tǒng)(GMFCS)中國版[4],該系統(tǒng)將腦癱患兒分為4個年齡組:~2歲、~4歲、~6歲、~12歲;每個年齡組根據(jù)腦癱患兒運動功能的表現(xiàn)及受限制程度分為Ⅰ、Ⅱ、Ⅲ、Ⅳ、Ⅴ,5個級別,其中I級運動功能最高,V級運動功能最低。

      (3)導出數(shù)據(jù)

      ①將導出數(shù)據(jù)表生成數(shù)據(jù)集

      根據(jù)生成數(shù)據(jù)集包含的字段,通過SQL語句,生成數(shù)據(jù)集對象。為實現(xiàn)按照指定日期類型導出數(shù)據(jù),可對日期類型字段進行格式轉換,如對客戶表“regDate”字段進行轉換,代碼如下所示:

      string strSql="SELECT code,name,sex,IDCard,CONVERT(varchar(10),regDate,120),rank FROM client";

      ②根據(jù)數(shù)據(jù)表,生成Excel工作表

      實現(xiàn)思路:根據(jù)導出數(shù)據(jù)生成的數(shù)據(jù)集,從數(shù)據(jù)集讀取一條記錄插入至Excel工作表內(nèi)一條,至到數(shù)據(jù)集內(nèi)全部數(shù)據(jù)插入為止。

      ?。┨砑哟a頁面引用“using Excel=Microsoft.Office.Interop.Excel;”,以達到簡化引用。

      ⅱ)創(chuàng)建Excel工作表對象如下代碼所示:

      關于注釋為“A”的代碼說明:

      a“mySheet.Cells[i+2,j+1]”表示導出的數(shù)據(jù)是從Excel工作表第2行1列開始添加的,直到數(shù)據(jù)集中數(shù)據(jù)導出完畢。

      b “"'"+dt.Rows[i][j].ToString()”,其中“dt.Rows[i][j]”表示數(shù)據(jù)表對象中i行j列的值,“"'"”中“'”的作用是將數(shù)據(jù)導入Excel工作表單元格時以文本類型處理,這樣就不會出現(xiàn)第2節(jié)數(shù)據(jù)導出存在的那些問題了。

      ⅴ)生成包含導出數(shù)據(jù)的Excel文件,代碼如下:

      4 總結

      使用本文介紹方法實現(xiàn)SQL Server與Excel間數(shù)據(jù)的導入導出的前提是應用程序所在平臺需要安裝Office辦公軟件,特別是需要安裝Excel軟件。另外建議讀者在實現(xiàn)數(shù)據(jù)導入導出時,可以考慮使用低版本的Office軟件,如Office2003,因為Office有向后兼容的功能,所以導出的Excel2003文件可以直接在Office2007中打開并編輯。

      [1]Watson,等.C# 入門經(jīng)典[M].齊立波,譯.4 版.北京:清華大學出版社,2008.

      [2]劉麗霞,等.C#范例開發(fā)大全[M].北京:清華大學出版社,2010.

      [3]明日科技.C#開發(fā)技術大全[M].北京:人民郵電出版社,2011.

      猜你喜歡
      數(shù)據(jù)表單元格腦癱
      玩轉方格
      玩轉方格
      湖北省新冠肺炎疫情數(shù)據(jù)表
      黨員生活(2020年2期)2020-04-17 09:56:30
      基于列控工程數(shù)據(jù)表建立線路拓撲關系的研究
      淺談Excel中常見統(tǒng)計個數(shù)函數(shù)的用法
      西部皮革(2018年6期)2018-05-07 06:41:07
      腦癱患兒采用康復護理進行早期干預效果
      腦癱姐妹為爸爸征婚
      29年前為腦癱垂淚,如今卻為拳王歡笑
      人生十六七(2015年6期)2015-02-28 13:08:39
      圖表
      基于VSL的動態(tài)數(shù)據(jù)表應用研究
      河南科技(2014年24期)2014-02-27 14:19:25
      扎赉特旗| 磐安县| 潜山县| 桐柏县| 富川| 禹州市| 定兴县| 鄂托克前旗| 石阡县| 荃湾区| 饶平县| 绥中县| 枞阳县| 安龙县| 平和县| 蛟河市| 额敏县| 登封市| 辽源市| 新绛县| 桂平市| 东乡族自治县| 班戈县| 剑阁县| 乐亭县| 汝城县| 大足县| 吴堡县| 大宁县| 红桥区| 旬邑县| 山丹县| 阆中市| 盐源县| 黑龙江省| 龙陵县| 礼泉县| 嘉义县| 合川市| 扎赉特旗| 张家界市|