C#應用oledb導出數據到excel的辦法。本站提示廣大學習愛好者:(C#應用oledb導出數據到excel的辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是C#應用oledb導出數據到excel的辦法正文
本文實例講述了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;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”,假如不存在的話體系會本身建一個,然則這是後的文件是不克不及正常翻開的,要create一個表(假如可以稱為表的話),類型可以指定這沒有成績。能夠認為奇異,為何分為兩句,這其是由於,合為一個commad的敕令字符串的時刻,我還不曉得用哪一個字符來辨別,“;”是不可的,這個我還要在msdn上找一下,我是在.net 1.1下測試過的,可以用,就是會多出一行表現字段名的數據,然則這個應當可以用delete刪失落的。.net 2.0下應當也是可以的,究竟這是底層供給一個數據拜訪接口,與你的編程情況應當沒有太年夜的關系。關於誰人“Excel 8.0”,我只是肯定可以,關於更高的沒有試過,預備再看一下。
願望本文所述對年夜家C#法式設計有所贊助。