SQL直接操作excel表(查詢/導(dǎo)入/插入)
更新時(shí)間:2013年03月15日 10:49:17 作者:
操作excel表包括:查詢Excel數(shù)據(jù);將Excel的數(shù)據(jù)導(dǎo)入SQL server; 將SQL SERVER中查詢到的數(shù)據(jù)導(dǎo)成一個(gè)Excel文件;在SQL SERVER里往Excel插入數(shù)據(jù),感興趣的你可以參考下哈
復(fù)制代碼 代碼如下:
--配置權(quán)限
EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
SQL SERVER 和EXCEL的數(shù)據(jù)導(dǎo)入導(dǎo)出
1、在SQL SERVER里查詢Excel數(shù)據(jù):
-- ======================================================
復(fù)制代碼 代碼如下:
SELECT *
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
下面是個(gè)查詢的示例,它通過用于 Jet 的 OLE DB 提供程序查詢 Excel 電子表格。
SELECT *
FROM OpenDataSource ( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------
2、將Excel的數(shù)據(jù)導(dǎo)入SQL server :
-- ======================================================
復(fù)制代碼 代碼如下:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
實(shí)例:
復(fù)制代碼 代碼如下:
SELECT * into newtable
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Finance\account.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
-------------------------------------------------------------------------------------------------
3、將SQL SERVER中查詢到的數(shù)據(jù)導(dǎo)成一個(gè)Excel文件
-- ======================================================
T-SQL代碼:
復(fù)制代碼 代碼如下:
EXEC master..xp_cmdshell 'bcp 庫名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數(shù):S 是SQL服務(wù)器名;U是用戶;P是密碼
說明:還可以導(dǎo)出文本文件等多種格式
實(shí)例:
復(fù)制代碼 代碼如下:
EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'
在VB6中應(yīng)用ADO導(dǎo)出EXCEL文件代碼:
復(fù)制代碼 代碼如下:
Dim cn As New ADODB.Connection
cn.open "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cn.execute "master..xp_cmdshell 'bcp "SELECT col1, col2 FROM 庫名.dbo.表名" queryout E:\DT.xls -c -Sservername -Usa -Ppassword'"
------------------------------------------------------------------------------------------------
4、在SQL SERVER里往Excel插入數(shù)據(jù):
-- ======================================================
復(fù)制代碼 代碼如下:
insert into OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\Temp.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...table1 (A1,A2,A3) values (1,2,3)
T-SQL代碼:
復(fù)制代碼 代碼如下:
INSERT INTO
OPENDATASOURCE('Microsoft.JET.OLEDB.4.0',
'Extended Properties=Excel 8.0;Data source=C:\training\inventur.xls')...[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
相關(guān)文章
sqlserver如何生成連續(xù)數(shù)值,字母,字符
這篇文章主要介紹了sqlserver如何生成連續(xù)數(shù)值,字母,字符問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07
在SQL Server的try...catch語句中獲取錯(cuò)誤消息代碼的的語句
本文為大家詳細(xì)介紹下如何在SQL Server的try...catch語句中獲取錯(cuò)誤消息的代碼,具體示例如下,感興趣的朋友可以參考下哈,希望對大家有所幫助2013-07-07
sql使用cast進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換示例
這篇文章主要介紹了sql使用cast進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換,需要的朋友可以參考下2014-03-03
完美解決MSSQL"以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作"
以前裝過sql server,后來刪掉?,F(xiàn)在重裝,卻出現(xiàn)“以前的某個(gè)程序安裝已在安裝計(jì)算機(jī)上創(chuàng)建掛起的文件操作。運(yùn)行安裝程序之前必須重新啟動(dòng)計(jì)算機(jī)”錯(cuò)誤。無法進(jìn)行下去。 現(xiàn)在又遇到了,終于完全搞定.2008-11-11
實(shí)例講解sql server排名函數(shù)DENSE_RANK的用法
這篇文章主要以一個(gè)實(shí)例講解了sql server排名函數(shù)DENSE_RANK的用法,感興趣的小伙伴們可以參考一下2016-03-03

