當前位置:首頁 » 編程語言 » 用sql處理excel數據
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

用sql處理excel數據

發布時間: 2022-07-21 01:53:07

㈠ 如何用sql語句查詢Excel數據

如何用SQL語句查詢Excel數據?
Q:如何用SQL語句查詢Excel數據? A:下列語句可在SQL SERVER中查詢Excel工作表中的數據。

2007和2010版本:

SELECT*FROMOpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$]
復制代碼

SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]')
復制代碼

SELECT*FROMOPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]')
復制代碼
2003版本:

SELECT*FROMOpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
復制代碼

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]')

SELECT*FROMOPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]')
復制代碼

而且,還需要用擁有伺服器sysa

㈡ Excel中如何用SQL進行多工作簿匯總

對於經常使用Excel的人來說,在Excel中使用SQL能高效處理你的數據,但據我所知Excel中的SQL語法與MySQL數據的語法還有點不一樣。現在我就來實例說明如何用SQL語句對多個工作簿進行匯總。假如我們要匯總如下三個工作簿

1. 學生信息表

2. 學生成績表

3. 學生興趣表

將這三個工作簿按相同學號進行合並,大致分如下幾步:

1. 載入數據

在Excel中,依次點擊:數據-自其它來源-來自Microsoft Query-Excel Files*

然後再找到你Excel表格的存放目錄,如下圖

點擊下面你要載入的Excel數據表,進入下面頁面

將上圖可用的三張表都加入到右邊查詢結果中的列,加入完成後點擊下一步,數據就載入完成了。

2. 編寫SQL代碼並執行

接下來點擊上面的SQL按鈕開始寫SQL合並代碼。單純的合並代碼如下

SELECT

tm.*,

tn.興趣愛好 AS 興趣愛好

FROM(

SELECT

ta.學號 AS 學號,

ta.姓名 AS 姓名,

ta.年齡 AS 年齡,

ta.性別 AS 性別,

ta.身高 AS 身高,

ta.出生地 AS 出生地,

tb.語文成績 AS 語文成績,

tb.數學成績 AS 數學成績

FROM(

SELECT

tt.學號 AS 學號,

tt.姓名 AS 姓名,

tt.年齡 AS 年齡,

tt.性別 AS 性別,

tt.身高 AS 身高,

tt.出生地 AS 出生地

FROM [學生基本信息表$] tt

)ta

INNER JOIN(

SELECT

tt.學號 AS 學號,

tt.語文成績 AS 語文成績,

tt.數學成績 AS 數學成績

FROM [學生成績表$] tt

)tb

ON ta.學號=tb.學號

)tm

INNER JOIN(

SELECT

tt.學號 AS 學號,

tt.興趣愛好 AS 興趣愛好

FROM [學生興趣表$] tt

)tn

ON tm.學號=tn.學號

將代碼寫好後復制放入文本框中,點擊確定按鈕,就開始執行SQL語句。結果如下

這樣就完成了三個工作簿的數據合並,接下來將數據返回Excel表。

3. 返回數據到Excel表

點擊左上角的文件-將數據返回Microsoft Excel,彈出如下頁面

選擇數據的存放位置為新工作表,然後點擊確定即可,最終得到如下數據表

這樣就完成了三個工作簿的數據合並。

Tips:

1. 由於Excel中執行SQL語句時沒有比較詳細的報錯信息,如果SQL代碼語法有錯誤有可能執行會報錯,這個問題可以上網查詢或者直接在評論區問我。

2. 在Excel SQL中常用到的合並操作有INNER JOIN、LEFT JOIN、RIGHT JOIN、UNION、UNION ALL等,但不支持FULL JOIN。更復雜的需求都有一定的處理技巧。

㈢ 如何使用SQL語句實現對Excel工作表數據的查詢

--1.開啟遠程查詢支持
exec sp_
configure
'show advanced options' ,1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
--2.鏈接Excel Microsoft ACE 12.0 OLE DB Provider 讀Excel數據(注意Excel必須事先關閉)
select * from
openrowset('Microsoft.ACE.OLEDB.12.0','Excel 12.0;HDR=Yes;DATABASE=C:/Users/nichk/Desktop/data.xls', Sheet1$);
--3.記得用完選項後,關閉這些選項
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
--4.查看是不是關閉
exec sp_configure記得電腦必須安裝oledb提供程序(可搜索AccessDatabaseEngine.exe在微軟官網下載安裝),不同的版本訪問方式不一樣,如下是各版本的訪問方式:
--> 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$]

㈣ 如何在Excel中使用SQL語言實現數據查詢

1、選中表格後單擊右鍵選擇「定義名稱」。

2、單擊後,出現命名對話框。

3、這里將表1和表2分別命名為Table1和Table2。

4、選擇上方的「數據」選項卡,選擇「自其他來源」下的「來自Microsoft Query 」選項。

5、在彈出的對話框中選擇Excel Files*那一項,並且把對話框下面的「使用「查詢向導」創建/編輯查詢」勾掉。

6、點擊「確定」,便出現「選擇工作簿」的對話框,這里選擇包含表1和表2的工作表xxx.xlsx。

7、點擊確定後之後彈出添加表的對話框。

8、點擊確定後之後彈出添加表的對話框。

9、輸入SQL語句的按鈕,彈出輸入SQL語句的對話框 輸入SQL,看到篩選出來的數據表。

10、將篩選出來的數據表再返回至Excel工作表當中,選擇菜單中的「文件」——「將數據返回Microsoft Excel」。

㈤ 如何用sql查詢excel數據

在通過ADO對Excel對象進行連接時(此時Excel則認為是一個數據源),需要配置對Excel數據源對應的連接串,這個連接串中包括了Provider信息(其實類似對資料庫進行連接操作時,都需要指定連接字元串),以下是一行連接串源代碼: strConnString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strExcelFilePath & ";Extended Properties=Excel 12.0" 這里的Provider使用了Microsoft.ACE.OLEDB.12.0,其實除了Microsoft.ACE.OLEDB.12.0,還有Microsoft.Jet.OLEDB.4.0,它們倆者之間有什麼聯系和區別呢: 共同點:都是做為連接Excel對象的介面引擎 不同點: 對於不同的Excel版本,有兩種介面可供選擇:Microsoft.Jet.OLEDB.4.0(以下簡稱 Jet 引擎)和Microsoft.ACE.OLEDB.12.0(以下簡稱 ACE 引擎)。 Jet 引擎,可以訪問 Office 97-2003,但不能訪問 Office 2007。 ACE 引擎是隨 Office 2007 一起發布的資料庫連接組件,既可以訪問 Office 2007,也可以訪問 Office 97-2003。 另外:Microsoft.ACE.OLEDB.12.0 可以訪問正在打開的 Excel 文件,而 Microsoft.Jet.OLEDB.4.0 是不可以的。 所以,在使用不同版本的office時,要注意使用合適的引擎。 A:下列語句可在SQL SERVER中查詢Excel工作表中的數據。 2007和2003都可用 SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0','Data Source="D:\test1.xls";User ID=Admin;Password=;Extended properties="Excel 12.0 Xml;HDR=YES;IMEX=1";')...[Sheet1$] 2007和2010版本: SELECT * FROM OpenDataSource( 'Microsoft.ACE.OLEDB.12.0', 'Data Source="c:\book1.xlsx";User ID=Admin;Password=;Extended properties=Excel 12.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$A1:D100]') SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0','Excel 12.0;Database=C:\book1.xlsx', 'SELECT * FROM [Sheet1$]') 2003版本: SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source="c:\book1.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$] SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$]') SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=C:\book1.xls', 'SELECT * FROM [Sheet1$A1:D100]') 而且,還需要用擁有伺服器sysadmin角色許可權的登錄帳號,先執行下列語句打開SQL SERVER的'Ad Hoc Distributed Queries'開關。 exec sp_configure 'show advanced options',1;reconfigure; exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure; 執行查詢後,再用相反順序的語句,關閉'Ad Hoc Distributed Queries'開關。 exec sp_configure 'Ad Hoc Distributed Queries',0; reconfigure;exec sp_configure 'show advanced options',0;reconfigure

㈥ 怎麼把excel文件里的數據導入SQL資料庫

具體操作步驟如下:

1、首先雙擊打開sqlserver,右擊需要導入數據的資料庫,如圖所示。

㈦ Excel表中連接sql並使用sql語句引用excel單元格數據作為查詢條件

1、將需要處理的記錄復制到一個新的工作表,然後將在資料庫表中存在唯一值的列(比如物料編碼)後插入一列,用 CONCATENATE函數將其前後加上「'」。

㈧ 怎樣把Excel數據導入SQL資料庫中,該如何處理

怎樣把Excel數據導入SQL資料庫中,該如何處理
方法如下:

1、打開要導入的Excel文件,觀察第一列是為欄位還是數據。

2、打開SQLServer,在需要導入的數據點擊右鍵 【任務】-【導入數據】
出現導入導出向導。

3、點擊下一步 ,進入【選擇數據源】頁面,注意紅框設置。

4、點擊下一步 ,進入【選擇目標】頁面,注意紅框設置。

5、點擊下一步 ,進入【指定表復制或查詢】頁面,注意紅框設置。

6、點擊下一步 ,進入【選擇源表和源視圖】頁面,注意紅框設置。

7、下一步,直到完成。出現【執行結果頁面】。

8、最後在SqlServer查詢表。

㈨ 如何在EXCEL中使用SQL進行數據處理與分析

方法一:利用Microsoft Query使用SQL語句

㈩ 如何在Excel中使用SQL語言實現數據查詢

1.選中表格後單擊右鍵選擇「定義名稱」
2.單擊後,出現命名對話框
3.這里將表1和表2分別命名為Table1和Table2。
4.選擇上方的「數據」選項卡,選擇「自其他來源」下的「來自Microsoft Query 」選項
5.在彈出的對話框中選擇Excel Files*那一項,並且把對話框下面的「使用「查詢向導」創建/編輯查詢」勾掉,
6.點擊「確定」,便出現「選擇工作簿」的對話框,這里選擇包含表1和表2的工作表xxx.xlsx
7.點擊確定後之後彈出添加表的對話框
8.點擊確定後之後彈出添加表的對話框
9.輸入SQL語句的按鈕,彈出輸入SQL語句的對話框 輸入SQL,看到篩選出來的數據表
10.將篩選出來的數據表再返回至Excel工作表當中,選擇菜單中的「文件」——「將數據返回Microsoft Excel」,純手打,望採納答案哦,謝謝