主要用到openrowset,opendatasource系統函式,這兩個函式任意乙個都能完成任務
用這種方法可以實現excel和sqlserver表之間的相互匯入匯出。
如果使用openrowset報錯,可以參看這篇文章
openrowset的寫法
--3,鏈結excel microsoft jet 4.0 ole db provider
--讀excel資料,注意excel必須事先關閉
select
*from
openrowset('
microsoft.jet.oledb.4.0
','excel 8.0;hdr=yes;database=e:/temp/myexcel20131212.xls
', sheet1$)
--將資料寫入excel2003檔案
--注意:首先需要對excel的sheet1的第一行設定與檢索列相等的一些值,可以是任意值,
--但最好與列名相同;另外oledb可能對excel沒有寫許可權,需要對excel**的屬性--》安全中加乙個everyone許可權
insert
into
openrowset('
microsoft.jet.oledb.4.0
','excel 8.0;hdr=yes;database=e:/temp/myexcel20131212.xls
',sheet1$)
select
*from dbo.dquestiondata
opendatasource的寫法
select*from
opendatasource('
microsoft.jet.oledb.4.0
','excel 8.0;hdr=yes;database=e:/temp/myexcel20131212.xls
')...sheet1$
上面的**是鏈結excel2003的,對於excel2007的鏈結 ,由於oledb提供程式不同,所以鏈結方式會不同。
--> jet 引擎訪問 excel 97-2003
select
*from
openrowset('
microsoft.jet.oledb.4.0
', '
excel 8.0;hdr=yes;imex=1;database=d:/97-2003.xls
', '
select * from [sheet1$]
')
select
*from
openrowset('
microsoft.jet.oledb.4.0
', '
excel 8.0;hdr=yes;imex=1;database=d:/97-2003.xls
', [
sheet1$
])
select
*from
opendatasource('
microsoft.jet.oledb.4.0
', '
excel 8.0;hdr=yes;imex=1;database=d:/97-2003.xls
')...[
sheet1$
]select
*from
opendatasource('
microsoft.jet.oledb.4.0
', '
data source=d:/97-2003.xls;extended properties="excel 8.0;hdr=yes;imex=1"
')...[
sheet1$]--
> ace 引擎訪問 excel 97-2003
select
*from
openrowset('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/97-2003.xls
', '
select * from [sheet1$]
')
select
*from
openrowset('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/97-2003.xls
', [
sheet1$
])
select
*from
opendatasource('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/97-2003.xls
')...[
sheet1$
]select
*from
opendatasource('
microsoft.ace.oledb.12.0
', '
data source=d:/97-2003.xls;extended properties="excel 12.0;hdr=yes;imex=1"
')...[
sheet1$]--
> ace 引擎訪問 excel 2007
select
*from
openrowset('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/2007.xlsx
', '
select * from [sheet1$]
')
select
*from
openrowset('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/2007.xlsx
', [
sheet1$
])
select
*from
opendatasource('
microsoft.ace.oledb.12.0
', '
excel 12.0;hdr=yes;imex=1;database=d:/2007.xlsx
')...[
sheet1$
]select
*from
opendatasource('
microsoft.ace.oledb.12.0
', '
data source=d:/2007.xlsx;extended properties="excel 12.0;hdr=yes;imex=1"
')...[
sheet1$
]
通過使用openrowset來讀取excel
通過使用openrowset來讀取excel 開啟許可權 exec sp configure show advanced options 1 reconfigure exec sp configure ad hoc distributed queries 1 reconfigure 查詢excel資...
NPOI操作Excel 003 寫入空Excel
對於npoi操作excel前面已經有了簡單認識 繼續來看如何將內容儲存至excel中。根據前面的經驗npoi操作excel主要的幾個物件分別是 workbook,sheet以及sheet內的row和cell。所以儲存至excel也是對這幾個物件進行操作。當然我們平時使用excel時不光要在單元格中儲...
寫入 讀取檔案
file類下面的方法 string str file.readalltext aa.txt system.text.encoding.getencoding utf 8 讀取檔案 console.writeline str console.read filestream類下面的方法 在當前目錄建立乙...