sql sever讀取寫入Excel總結

2021-09-06 13:24:10 字數 3572 閱讀 9115

主要用到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類下面的方法 在當前目錄建立乙...