国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#使用oledb導出數據到excel的方法

2020-01-24 01:06:28
字體:
來源:轉載
供稿:網友

本文實例講述了C#使用oledb導出數據到excel的方法。分享給大家供大家參考,具體如下:

現在做應用的一半都會碰到數據導出的問題,導出到word阿,導出到excel啊,還有其他的什么。當然導出的類型中還是以ms office的居多。最近在做數據的轉換,也碰到這個導出的問題,當然幸運的是不用碰word,這樣涉及到就只有xml,csv,tsv和最“痛苦”的excel了。

最開始的想法是xml+xslt,搞定全部,但是有一個問題就是excel只有在xp版本之后支持xml,我不能強制的要求用戶都把他們的office升級到xp以后,畢竟人家用的是正版。所以對于這個,還有一個方法,也是網上用的比較多的一種――寫成html然后改后綴名為xls,或者將響應頭里的類型改為Application/Excel(好像是這樣,記不清了,我主要這樣導過word)。當然這樣有些不爽,因為給出的畢竟不是真正的excel,不過還是可以用xslt來做的。

不過在準備這樣做的時候,發現了一種可以產生至少比html方式更正宗一些的.xls方式,那就是用oledb方式。最先看到的是用oledb方式查excel的數據,然后就在想既然可以select,那么insert自然也應該可以的。但是試了一下,不行,老是說沒有制定的字段。好來又找了一些資料發現,字段其實也是作為一行數據的,這樣問題就可以解決了,下面是我的試驗代碼:

string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c://2.xls;ExtendedProperties=Excel 8.0" ;OleDbConnection myConn = new OleDbConnection ( strCon ) ;string createcmd="CREATE TABLE testtable ( ID INTEGER, UserID INTEGER)";string insertcmd = " INSERT INTO testtable (ID,UserID) VALUES (1,2) " ;OleDbCommand cmd=new OleDbCommand(createcmd,myConn);OleDbCommand excmd=new OleDbCommand(insertcmd,myConn);myConn.Open ( ) ;cmd.ExecuteNonQuery();excmd.ExecuteNonQuery();myConn.Close ( ) ;

這樣就可以了,在連接字符串里的“c://2.xls”,如果不存在的話系統會自己建一個,但是這是后的文件是不能正常打開的,要create一個表(如果可以稱為表的話),類型可以指定這沒有問題。可能覺得奇怪,為什么分為兩句,這其是因為,合為一個commad的命令字符串的時候,我還不知道用哪個字符來區分,“;”是不行的,這個我還要在msdn上找一下,我是在.net 1.1下測試過的,可以用,就是會多出一行表示字段名的數據,但是這個應該可以用delete刪掉的。.net 2.0下應該也是可以的,畢竟這是底層提供一個數據訪問接口,與你的編程環境應該沒有太大的關系。對于那個“Excel 8.0”,我只是確定可以,對于更高的沒有試過,準備再看一下。

更多關于C#相關內容感興趣的讀者可查看本站專題:《C#中XML文件操作技巧匯總》、《C#常見控件用法教程》、《WinForm控件用法總結》、《C#數據結構與算法教程》、《C#面向對象程序設計入門教程》及《C#程序設計之線程使用技巧總結

希望本文所述對大家C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 土默特右旗| 甘肃省| 揭西县| 东至县| 正宁县| 伊吾县| 西昌市| 罗田县| 华阴市| 全州县| 莱西市| 南雄市| 祁连县| 密云县| 九台市| 囊谦县| 简阳市| 徐水县| 海林市| 安庆市| 武汉市| 彭泽县| 武平县| 会同县| 区。| 深圳市| 高阳县| 酒泉市| 青铜峡市| 吴江市| 吉木萨尔县| 灵川县| 镇康县| 高邑县| 五指山市| 独山县| 平南县| 鹤峰县| 农安县| 商水县| 高州市|