SQL直接操作excel表(查詢/導(dǎo)入/插入)
更新時間:2013年03月15日 10:49:17 作者:
操作excel表包括:查詢Excel數(shù)據(jù);將Excel的數(shù)據(jù)導(dǎo)入SQL server; 將SQL SERVER中查詢到的數(shù)據(jù)導(dǎo)成一個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$]
下面是個查詢的示例,它通過用于 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$]
實例:
復(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)成一個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)出文本文件等多種格式
實例:
復(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)文章
SQL中varchar和nvarchar的基本介紹及其區(qū)別
varchar長度為 n 個字節(jié)的可變長度且非 Unicode 的字符數(shù)據(jù),nvarchar包含 n 個字符的可變長度 Unicode 字符數(shù)據(jù)2014-07-07SQL小技巧 又快又簡單的得到你的數(shù)據(jù)庫每個表的記錄數(shù)
說到如何得到表的行數(shù),大家首先想到的應(yīng)該是select count(*) from table1....2009-09-09SQL Server 數(shù)據(jù)庫中的收縮數(shù)據(jù)庫和文件操作
收縮數(shù)據(jù)文件通過將數(shù)據(jù)頁從文件末尾移動到更靠近文件開頭的未占用的空間來恢復(fù)空間,在文件末尾創(chuàng)建足夠的空間后,可取消對文件末尾的數(shù)據(jù)頁的分配并將它們返回給文件系統(tǒng),本文給大家介紹SQL Server 數(shù)據(jù)庫中的收縮數(shù)據(jù)庫和文件的相關(guān)知識,一起看看吧2023-07-07bak文件怎么打開 2000w數(shù)據(jù)怎么打開?
這篇文章主要介紹了sqlserver數(shù)據(jù)庫bak文件如何恢復(fù)打開的方法,需要的朋友可以參考下2014-02-02