SQL直接操作excel表(查詢(xún)/導(dǎo)入/插入)
更新時(shí)間:2013年03月15日 10:49:17 作者:
操作excel表包括:查詢(xún)Excel數(shù)據(jù);將Excel的數(shù)據(jù)導(dǎo)入SQL server; 將SQL SERVER中查詢(xún)到的數(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里查詢(xún)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è)查詢(xún)的示例,它通過(guò)用于 Jet 的 OLE DB 提供程序查詢(xún) 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中查詢(xún)到的數(shù)據(jù)導(dǎo)成一個(gè)Excel文件
-- ======================================================
T-SQL代碼:
復(fù)制代碼 代碼如下:
EXEC master..xp_cmdshell 'bcp 庫(kù)名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
參數(shù):S 是SQL服務(wù)器名;U是用戶(hù);P是密碼
說(shuō)明:還可以導(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 庫(kù)名.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)文章
SQL中varchar和nvarchar的基本介紹及其區(qū)別
varchar長(zhǎng)度為 n 個(gè)字節(jié)的可變長(zhǎng)度且非 Unicode 的字符數(shù)據(jù),nvarchar包含 n 個(gè)字符的可變長(zhǎng)度 Unicode 字符數(shù)據(jù)2014-07-07SQL臨時(shí)表遞歸查詢(xún)子信息并返回記錄的代碼
SQL臨時(shí)表遞歸查詢(xún)子信息并返回記錄的代碼,需要的朋友可以參考下2012-08-08SQL小技巧 又快又簡(jiǎn)單的得到你的數(shù)據(jù)庫(kù)每個(gè)表的記錄數(shù)
說(shuō)到如何得到表的行數(shù),大家首先想到的應(yīng)該是select count(*) from table1....2009-09-09SQL Server 數(shù)據(jù)庫(kù)中的收縮數(shù)據(jù)庫(kù)和文件操作
收縮數(shù)據(jù)文件通過(guò)將數(shù)據(jù)頁(yè)從文件末尾移動(dòng)到更靠近文件開(kāi)頭的未占用的空間來(lái)恢復(fù)空間,在文件末尾創(chuàng)建足夠的空間后,可取消對(duì)文件末尾的數(shù)據(jù)頁(yè)的分配并將它們返回給文件系統(tǒng),本文給大家介紹SQL Server 數(shù)據(jù)庫(kù)中的收縮數(shù)據(jù)庫(kù)和文件的相關(guān)知識(shí),一起看看吧2023-07-07淺談SQL Server 對(duì)于內(nèi)存的管理[圖文]
理解SQL Server對(duì)于內(nèi)存的管理是對(duì)于SQL Server問(wèn)題處理和性能調(diào)優(yōu)的基本,本篇文章講述SQL Server對(duì)于內(nèi)存管理的內(nèi)存原理2013-01-01bak文件怎么打開(kāi) 2000w數(shù)據(jù)怎么打開(kāi)?
這篇文章主要介紹了sqlserver數(shù)據(jù)庫(kù)bak文件如何恢復(fù)打開(kāi)的方法,需要的朋友可以參考下2014-02-02