excel查詢sql
A. excel使用sql語句查詢功能.
在宏編輯界面中進行SQL數據查詢以及生成報表的代碼如下:
Sub Static()
Dim objNewWorkbook As Workbook '定義一個Workbook對象
Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "模板.xlt") '使用模板文件新建一個EXCEL報表生成文件
Set objConnection = CreateObject("ADODB.Connection") '創建一個ADO連接
objConnection.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & ThisWorkbook.FullName '設置連接字元串
strCommand = "select 施工人, count(*) as 拆電話 from [" & Sheet1.Name & "$] where 施工動作 = '拆' and 專業類型 = '電話' group by 施工人" '查詢表單一中的數據源進行統計
?objNewWorkbook.Sheets(1).Range("A3").CopyFromRecordset objConnection.Execute(strCommand)
2.將查詢統計結果輸出到目的報表文件的表單1的從A3開始的區域中
3.下面代碼是調用EXCEL的排序方式進行漢字排序,這里SQL語句中的排序對於漢字排序與期望結果不同
4.使用EXCEL中的排序方法是根據EXCEL版本不同調用有所區別
Select Case Application.Version
Case "11.0":
objNewWorkbook.Sheets(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=objNewWorkbook.Sheets(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
objNewWorkbook.Sheets(1).Sort.SortFields.Clear
objNewWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With objNewWorkbook.Sheets(1).Sort
.SetRange Range("A2:M" & CStr(intSumRow - 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Case Else
End Select
objConnection.Close
End Sub
B. 在EXCEL中查詢SQL資料庫
用SqlCel查詢Sql Server資料庫。SqlCel可以同時支持Mysql,sql server,access,oracal。sqlcel的sql語句可以引用excel單元格的值作為變數。比如樓主要將123替換成Sheet1工作表的A1單元格的內容,那麼SQL語句可以這么寫
select * from AAA WHERE A = [Sheet1!A1]
這樣執行就可以引用A1單元格的值了
C. 在excel中查詢sql資料庫
查詢是資料庫最常用的操作,也是最重要的操作.SQL語言提供了SELECT語句進行資料庫的查詢,該語句的一般格式如下:SELECT select listFROM table source!WHE咫search_ condition][GROUP BY group一y_expression]I HAVING search condition][ ORDER BY order expression[ASC I DESC]]其主要元素說明如下:select list要選擇的列或表達式的集合。table source基本表或者視圖的集合.search condition進行查詢的條件.groupee by_expression可以根據某些特定的列進行分組。search condition分組的條件值.order expression查詢結果是按照列的集合來進行升序或者降序排序.由於SELECT語句的復雜性,一下面例子涉及到一個客戶、訂單資料庫。客戶基本信息表:Customer(CustomerlD,CompanyName,Address,City, Phone, Fax)Customer由客戶編號(CustomerlD )、公司名稱(CompanyName)、公司地址(Address) .公司所在城市(City)、公司電話(Phone)和傳真(Fax) 6個屬性組成,其中客戶編號(CustomerlD )是關鍵字.商品信息表:Proct(ProctID, ProctName,UnitPrice)Proct山產品編號(ProctID )、產品名稱(ProctName)和產品單價(UnitPrice )3個屬性組成,其中產品編號(ProctID )是關鍵字。客戶汀單表:Orders(OrderlD,CustomerID,ProctID,OrderDate,RequiredDate,OrderQuantity)Order由訂單編號(OrderlD )、客戶編號(CustomerlD )、產品編號(ProctID )、訂單日期(OrderDate )、訂單預交日(RequiredDate)和訂單數量(OrderQuantity) 6個屬性組成,其中OrderlD是關鍵字.
D. 使用SQL語句如何對Excel工作表數據進行查詢
SQL語句是一種標準的資料庫語言,其可以在任何關系型資料庫管理系統中使用。在 Excel 表格中,使用SQL語句可以實現對Excel工作表數據進行查詢的 方法 。以下是我為您帶來的關於使用SQL語句對Excel工作表數據進行查詢,希望對您有所幫助。
使用SQL語句對Excel工作表數據進行查詢1、啟動Excel並打開工作簿,在這個工作簿中,工作表Sheet1放置商品信息記錄,如圖1所示;工作表Sheet2用於對商品記錄進行查詢,其結構如圖2所示。
圖1放置商品信息記錄的工作表
圖2用於商品記錄查詢的工作表
2、打開Visual Basic編輯器,在工程資源管理器中插入一個模塊,在模塊的「代碼」窗口中輸入如下程序代碼:
Sub CheckData()
Dim cnn As ADODB.Connection '聲明連接對象變數
Dim rs As ADODB.Recordset '聲明記錄集對象
Dim strSql As String
Dim str As String
On Error Resume Next
Set cnn=CreateObject("ADODB.Connection") '創建連接對象變數
Set rs=CreateObject("ADODB.Recordset") '創建記錄集對象記錄
cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;"_&"Extended Properties=Excel 8.0;"_&"Data Source="&ThisWorkbook.FullName
str=ActiveSheet.Range("B1").Value '獲取當前單元格內容
strSql="Select*FROM[Sheet1$]Where商品like '%"&str&"%'"'創建數據篩選命令
rs.Open strSql,cnn,adOpenStatic
With ActiveSheet
.Range("A4:D100").ClearContents '清除單元格記錄
.Range("A4").CopyFromRecordset rs '復制篩選結果
End With
rs.Close
cnn.Close
Set rs=Nothing
Set cnn=Nothing
End Sub
3、首先在Sheet2工作表中輸入需要查詢的商品名稱,如圖3所示。運行CheckData()過程,在Sheet2工作表中將列出查詢結果,如圖4所示。
圖3輸入商品名稱
圖4獲得查詢結果
使用SQL語句如何對Excel工作表數據進行查詢相關 文章 :
★ excel2007使用sql語句查詢的方法
★ excel2007寫sql語句的教程
★ 如何將excel數據導入sql的方法
★ Excel2013使用教程基礎
★ excel數據導入SQL資料庫的教程
★ excel表導入sql資料庫的教程
★ excel導入sqlserver資料庫方法
★ 計算機英語
★ excel表格製作教程
var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm..com/hm.js?"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })();E. 如何在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」,純手打,望採納答案哦,謝謝
F. 如何通過Excel查詢MySQL資料庫
這里介紹一種非常高效的方法。就是藉助Excel插件SqlCel,這個插件在處理數據上面有很多可取之處,非常值得學習。
比如在Excel中有一個訂單ID欄位,這個欄位總共有2千條記錄,現在我們要查詢這些訂單對應的產品名稱。
在Mysql資料庫中有一張訂單表裡面存儲了所有訂單的詳細信息。我們該怎樣操作才能最快速地查到每個訂單的產品名稱呢?
多數人的做法應該是把Excel中的數據導入到Mysql中,然後寫一個SQL語句匹配訂單表,然後把匹配結果再導出來。這種做法也是可以的,只是非常不方便,單是數據的導入可能就會遇到不少麻煩。用SqlCel處理這個問題就簡單了
插件安裝之後需要連接到Mysql資料庫,點擊「資料庫連接」下的Mysql,輸入連接信息。如下:
G. excel用SQL查詢
你的鏈接字元串資料庫也要改呀
Public Sub GetData()
Dim Flag, Err As Boolean
Dim Cnn As ADODB.Connection
Dim Rst As ADODB.Recordset
Dim SQL As String
Sheet2.Cells.Clear
Flag = False
Err = True
Set Cnn = New ADODB.Connection
On Error GoTo label
With Cnn
.Provider = "SQLOLEDB"
.ConnectionString = "Driver=SQL Server;Server=伺服器;Database=資料庫;Uid=賬號 ;Pwd=密碼;"
.Open
End With
Set Rst = New ADODB.Recordset
SQL = "你的sql"
Rst.Open SQL, Cnn, adOpenKeyset, adLockBatchOptimistic
Sheet2.Range("A1").CopyFromRecordset Rst
Rst.Close
Cnn.Close
Set Rst = Nothing
Set Cnn = Nothing
label:
MsgBox "資料庫連接失敗啦"
Set Rst = Nothing
Set Cnn = Nothing
End Sub
H. Excel表中連接sql並使用sql語句引用excel單元格數據作為查詢條件
1、將需要處理的記錄復制到一個新的工作表,然後將在資料庫表中存在唯一值的列(比如物料編碼)後插入一列,用 CONCATENATE函數將其前後加上「'」。
I. 如何使用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$]
J. Excel SQL 查詢對象有符號
題主是否想詢問「ExcelSQL怎麼查詢對象是否有符號」?
1、SQL查詢欄位中包含單引號:查詢的時候輸入兩個單引號就轉義了,chr(39)表示單引號、chr(40)表示雙引號。
2、例如:select*fromXX.TB_NAMEwhereCOLUMN_NAMElike'%''%'。