如何用sql語句把excel中的數據導入指定數據庫
在查詢分析器里,直接寫 SQL語句: 如果是導入數據到現有表,則采用 INSERT INTO 表 SELECT * FROM OPENROWSET('MICROSOFT。
JET。OLEDB。
4。0' ,'Excel 5。
0;HDR=YES;DATABASE=c:\test。 xls',sheet1$) 的形式 如果是導入數據并新增表,則采用 SELECT * INTO 表 FROM OPENROWSET('MICROSOFT。
JET。OLEDB。
4。0' ,'Excel 5。
0;HDR=YES;DATABASE=c:\test。 xls',sheet1$) 的形式。
以上語句是將 EXCEL文件里 SHEET1工作表中所有的列都讀進來,如果只想導部分列,可以 INSERT INTO 表 (a1,a2,a3) SELECT a1,a2,a3 FROM OPENROWSET('MICROSOFT。 JET。
OLEDB。4。
0' ,'Excel 5。0;HDR=YES;DATABASE=c:\test。
xls',sheet1$) 其實可以將 OPENROWSET('MICROSOFT。JET。
OLEDB。4。
0' ,'Excel 5。 0;HDR=YES;DATABASE=c:\test。
xls',sheet1$)當成一個表,例如我就寫過這樣一個句子: INSERT INTO eval_channel_employee(channel,employee_id) SELECT CASE a。 渠道 WHEN 'DIY' THEN 1 WHEN 'RDC' THEN 0 WHEN 'KCM' THEN 2 ELSE 3 END ,b。
id FROM OPENROWSET('MICROSOFT。JET。
OLEDB。4。
0' ,'Excel 5。 0;HDR=YES;DATABASE=c:\temp\name。
xls',sheet1$) AS a,pers_employee b WHERE a。員工編碼 =b。
code 簡單的方法: SQL2005中直接可以實現導入功能 SQL2008不知道可不可以。 操作過程如下: 第一步:登錄到 SQL Server Management Studio, 第二步:在 “對象資源管理器 ”中右鍵單擊 “管理 ”,在彈出列表中單擊 “導入數據 ” 第三步:在 “導入向導 ”對話框中單擊 “下一步 ”,進入到 “選擇數據源 ”對話框,在 “數據源 ”列表中選擇 “Microsoft Excel ”,同時選擇相應的 Excel 文檔,完成后單擊 “下一步 ”(一定要勾選該對話框中的 “首行包含列名稱 ”,因此它是將 Excel文檔中的列標題為數據庫表中的列項標題) 第四步:指定目標數據庫服務,依次單擊 “下一步 ”。
。
。至到 “完成 ” 第五步:重新打到 SQL Server Management Studio,進入到導入的數據庫表,可以發現所導入的 Excel文檔數據。
你試下下面的吧: 打開SQL Server Configuration Manager,啟用SQL Server Agent(實例名)。 啟動模式更改為“自動”。
如何把Excel數據轉化成SQL語句
首先,我們可以手工創建一條如上圖一樣的Sql語句。
然后,SQL查詢分析器中執行,確定是正確的語句。
再利用Excel單元格中(A1,B1,C1,D1)的數據來
代替上圖中具體的值具體操作是在單元格E2的公式欄
輸入下面的公式。
"
INSERT INTO
logistic_basestation
(
physicalbasestation_id,
logisticbasestation_name,
basestation_type,
project
)
values(
(
'"&A2&"','"&B2&"','"&C2&"','"&D2&"'
)
"
即可以得到一條插入數據的Sql語句。
把鼠標移到寫了公式的單元格的右下角,當單元格有下角變成,
鼠標變成瘦瘦的十字架的時候,單擊鼠標左健往下拉,這樣就生成了所有的五
條Sql語句。
excel使用sql語句查詢功能.
1. 在宏編輯界面中進行SQL數據查詢以及生成報表的代碼如下:
Sub Static()
Dim objNewWorkbook As Workbook '定義一個Workbook對象
Set objNewWorkbook = *(* &; "\模板.xlt") '使用模板文件新建一個EXCEL報表生成文件
Set objConnection = CreateObject("*tion") '創建一個ADO連接
* "Provider=*.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & *me '設置連接字符串
strCommand = "select 施工人, count(*) as 拆電話 from [" & * & "$] where 施工動作 = '拆' and 專業類型 = '電話' group by 施工人" '查詢表單一中的數據源進行統計
?*(1).Range("A3").CopyFromRecordset *e(strCommand)
2.將查詢統計結果輸出到目的報表文件的表單1的從A3開始的區域中
3.下面代碼是調用EXCEL的排序方式進行漢字排序,這里SQL語句中的排序對于漢字排序與期望結果不同
4.使用EXCEL中的排序方法是根據EXCEL版本不同調用有所區別
Select Case *n
Case "11.0":
*(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=*(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
*(1).*
*(1).* Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With *(1).Sort
.SetRange Range("A2:M" & CStr(intSumRow - 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Case Else
End Select
*
End Sub
轉載請注明出處華閱文章網 » excelsql語句