一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - C# - C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法

C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法

2021-11-25 14:44鄭文亮 C#

這篇文章主要介紹了C#使用oledb導(dǎo)出數(shù)據(jù)到excel的方法,結(jié)合實(shí)例形式分析了C#操作oledb導(dǎo)出數(shù)據(jù)的相關(guān)技巧與注意事項(xiàng),需要的朋友可以參考下

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

現(xiàn)在做應(yīng)用的一半都會(huì)碰到數(shù)據(jù)導(dǎo)出的問題,導(dǎo)出到word阿,導(dǎo)出到excel啊,還有其他的什么。當(dāng)然導(dǎo)出的類型中還是以ms office的居多。最近在做數(shù)據(jù)的轉(zhuǎn)換,也碰到這個(gè)導(dǎo)出的問題,當(dāng)然幸運(yùn)的是不用碰word,這樣涉及到就只有xml,csv,tsv和最“痛苦”的excel了。

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

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

?
1
2
3
4
5
6
7
8
9
10
11
string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = c:\\2.xls;Extended
Properties=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”,如果不存在的話系統(tǒng)會(huì)自己建一個(gè),但是這是后的文件是不能正常打開的,要create一個(gè)表(如果可以稱為表的話),類型可以指定這沒有問題。可能覺得奇怪,為什么分為兩句,這其是因?yàn)椋蠟橐粋€(gè)commad的命令字符串的時(shí)候,我還不知道用哪個(gè)字符來區(qū)分,“;”是不行的,這個(gè)我還要在msdn上找一下,我是在.net 1.1下測(cè)試過的,可以用,就是會(huì)多出一行表示字段名的數(shù)據(jù),但是這個(gè)應(yīng)該可以用delete刪掉的。.net 2.0下應(yīng)該也是可以的,畢竟這是底層提供一個(gè)數(shù)據(jù)訪問接口,與你的編程環(huán)境應(yīng)該沒有太大的關(guān)系。對(duì)于那個(gè)“Excel 8.0”,我只是確定可以,對(duì)于更高的沒有試過,準(zhǔn)備再看一下。

希望本文所述對(duì)大家C#程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本卡一卡2卡3卡4精品卡无人区 | 欧美二区三区 | 精品视频在线观看 | 91精品国产综合久久 | 调教老师肉色丝袜的故事 | 欧美操屁股 | www四虎影视 | 日本b站一卡二不卡三卡四卡 | 久久久久久久伊人电影 | 国产美女久久精品香蕉69 | 好爽好深好猛好舒服视频上 | 亚洲欧美综合在线观看 | 精品国产mmd在线观看 | 精品一久久香蕉国产二月 | 国产精品一区二区三 | 日本中文字幕一区二区高清在线 | 女烈受刑重口小说 | 男人女人日皮视频 | 亚洲视频免费在线观看 | 成人综合久久综合 | 72张让男人一看就硬的图片 | 日本高清全集免费观看 | 日日操天天射 | 风间由美一区二区播放合集 | 亚洲AV国产国产久青草 | 91影视在线看免费观看 | 日韩国产成人精品视频 | 亚洲国产影院 | 久久黄色精品视频 | 久久这里都是精品 | 成年人网站免费在线观看 | 国产成人精品三级在线 | 成人中文字幕在线高清 | a人片| 毛片视频网站 | 久久天堂成人影院 | 91亚洲成人| 精品久久免费观看 | 成全动漫视频在线观看 | 超级乱淫伦小说1女多男 | 高h肉爽文农民工 |