vc6.0中用ado操作excel的連線字串:
"dsn
=excel files;dbq
=filepath
+filename;defaultdir
=filepath;driver id
=790
;maxbuffersize
=2048
;pagetimeout=5
;" 例如:
dsn=excel files;dbq
=d://t_20071122.xls;defaultdir
=d://;driverid
=790
;maxbuffersize
=2048
;pagetimeout=5
; 建立乙個這樣的連線物件,就可以把excel當作乙個資料庫進行操作,其中每乙個worksheet相當於資料庫中一張表,在操作這些sheet時,需要用將sheet名+$包含起來,比如:select * from [totalprice$]
在.net中操作excel很方便,ado.net把大部分繁雜的工作都替我們做了,
c#.net中用ado.net操作excel連線字串:
provider
=microsoft.jet.oledb.
4.0;data source="
+ datafilepath +
";extended properties
=excel
8.0;
實際上,上面的操作都需要用到ms的jet引擎,上面的連線串在有jet的情況下就可以操作成功,不過jet的執行效能不高,所以,還有乙個效能比較高但是有條件限制的sql語句(內嵌連線字串),就是sqlserver的dts
條件,執行機器上需要有sql
語句:select
*from
openrowset('
microsoft.jet.oledb.4.0',
'excel 8.0;hdr=no;database=excelfilepath;
',worksheetname$)
例如:insert
into
t_wcall_log(up_id,up_num,up_result,sn_id)
select
*from
openrowset('
microsoft.jet.oledb.4.0',
'excel 8.0;hdr=no;database=d://bc_call.xls;
',統計$)
其中select子句中的*可以用excel中的列名列表代替,當把excel中的worksheet當資料表處理的時候,需要在後面加上$,而且此時的worksheet名不能以數字開頭,否則將出現錯誤:在***中不存在表xx
如果要將資料由本地提交到區域網伺服器上,可以將excel所在的資料夾設定為共享,然後用「ip/檔名」替換掉上面的excelfilepath,如:
select
*from
openset(
'microsoft.jet.oledb.4.0',
'excel 8.0;hdr=no;database=192.168.0.113//bc_call.xls;
',統計$)
其原理是利用本地sql和伺服器sql之間的dts進行傳輸操作,實際上和把資料放到本地sql,然後再傳到伺服器sql是一樣的,只不過,用上面的語句可以利用一下sql的記憶體表,資料直接過記憶體傳輸,而不產生真正的資料表
excel匯入資料庫
在你的 中增加一列,利用excel的公式自動生成sql語句 concatenate 函式 具體方法如下 1 增加一列 假設是d列 2 在第一行的d列,就是d1中輸入公式 concatenate insert into table col1,col2,col3 values a1,b1,c1,3 此時...
Excel匯入資料庫
一 在excel中 新建一列,如把列名定為ab,下面放你的資料,比如1,2,3 二 開啟sql企業管理器,右擊你所需要匯入的資料庫,選擇匯入資料,下一步,資料來源選擇microsoft eccel 97 2000,選擇excel檔案繼續下一步,往下按,選擇sheet1 或者2,3 看你把資料放在那一...
excel匯入資料庫
日常工作中,感覺一些基礎知識需要做下筆記,可能是剛畢業的緣故吧,還保持著做筆記的習慣,但根據以往經驗,紙質筆記最多保持一年,過後想找已是難過登天。電子版筆記感覺很不錯,尤其是發布到網路中。筆記內容是本人遇到的感覺可能會有些用的東西,很是瑣碎,記錄在中,僅供學習參考。1 將資料庫中的內容顯示到乙個窗體...