excel中的sql語句
1. 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
2. 使用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); })();3. 如何在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」,純手打,望採納答案哦,謝謝
4. EXCEL中能不能直接執行SQL語句
1、需要導入的數據如圖。
5. EXCEL中是SQL語句
如圖
但只能查整張表內容,不能寫腳本篩選或分組
建議把要顯示的內容先做成視圖,再這樣拉出來
------------------------------------------------
又看了一遍問題,確認了你的需求
excel只能做篩選,不能寫腳本
能寫腳本的是access
6. 如何在excel中加入sql語句
Set conn = CreateObject("adodb.connection")
conn.Open "provider=microsoft.jet.oledb.4.0;extended properties=excel 8.0;data source=" & ThisWorkbook.FullName
Sql = " select * from [sheet1$a:v]"
[a1].CopyFromRecordset conn.Execute(Sql)
conn.Close: Set conn = Nothing
7. excel里可以使用sql語句嗎
可以的,EXCEL可以作為數據源(SQL語句FROM後面的表),也可以結果存放到EXCEL裡面,不過需要使用微軟查詢(2016版包含)。
8. 如何在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」。
9. 怎麼在excel中正確使用SQL的查詢語句
ALT+F11,打開VBE,插入一個模塊,把以下代碼復制進去:
Sub dosql(sql, a As Range)
Dim Conn As Object
Set Conn = CreateObject("ADODB.Connection")
Set rst = CreateObject("ADODB.Recordset")
PathStr = ThisWorkbook.FullName
Select Case Application.Version * 1
Case Is <= 11
strConn = "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties=excel 8.0;Data source=" & PathStr
Case Is >= 12
strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & PathStr & ";Extended Properties=""Excel 12.0;HDR=YES"";"""
End Select
Conn.Open strConn
Set rst = Conn.Execute(sql)
If VBA.InStr(sql, "select") > 0 or VBA.InStr(sql, "Select") > 0 Then
With a.Parent
For i = 0 To rst.fields.Count - 1
.Cells(1, a.Column + i).EntireColumn.ClearContents
.Cells(1, a.Column + i) = rst.fields(i).Name
Next
End With
a.Offset(1).CopyFromRecordset rst
For i = 0 To rst.fields.Count - 1
a.Parent.Cells(1, a.Column + i).EntireColumn.AutoFit
Next
End If
Conn.Close
End Sub
Public Sub t()
'sql = "這里寫你的查詢語句"
dosql sql, [E1]
End Sub
1、記得運行代碼前要保存工作簿
2、查詢語句中,表名是[工作表名$]這樣的格式
3、dosql sql, [E1]中的E1,就是要放查詢結果的區域左上角那個單元格。
10. Excel表中連接sql並使用sql語句引用excel單元格數據作為查詢條件
1、將需要處理的記錄復制到一個新的工作表,然後將在資料庫表中存在唯一值的列(比如物料編碼)後插入一列,用 CONCATENATE函數將其前後加上「'」。