第一步:登录到
sql
server
management
studio
第二步:在
“对象资源管理器
”中右键单击
“管理
”,在d出列表中单击
“导入数据
”
第三步:在
“导入向导
”对话框中单击
“下一步
”,进入到
“选择数据源
”对话框,在
“数据源
”列表中选择
“microsoft
excel
”,同时选择相应的
excel
文档,完成后单击
“下一步
”(一定要勾选该对话框中的
“首行包含列名称
”,因此它是将
excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击
“下一步
”。。。。至到
“完成
”
第五步:重新打到
sql
server
management
studio,进入到导入的数据库表,可以发现所导入的
excel文档数据。
在查询分析器里,直接写 SQL语句:
如果是导入数据到现有表,则采用形式
INSERT INTO 表 SELECT FROM OPENROWSET('MICROSOFTJETOLEDB40' ,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)
如果是导入数据并新增表,则采用形式
SELECT INTO 表 FROM OPENROWSET('MICROSOFTJETOLEDB40' ,'Excel 50;HDR=YES;DATABASE=c:\testxls',sheet1$)
SQL2005中直接可以实现导入功能 SQL2008不知道可不可以。 *** 作过程如下:
第一步:登录到 SQL Server Management Studio
第二步:在 “对象资源管理器 ”中右键单击 “管理 ”,在d出列表中单击 “导入数据 ”
第三步:在 “导入向导 ”对话框中单击 “下一步 ”,进入到 “选择数据源 ”对话框,在 “数据源 ”列表中选择 “Microsoft Excel ”,同时选择相应的 Excel 文档,完成后单击 “下一步 ”(一定要勾选该对话框中的 “首行包含列名称 ”,因此它是将 Excel文档中的列标题为数据库表中的列项标题)
第四步:指定目标数据库服务,依次单击 “下一步 ”。。。。至到 “完成 ”
第五步:重新打到 SQL Server Management Studio,进入到导入的数据库表,可以发现所导入的 Excel文档数据。
用SqlCel查询Sql Server数据库。SqlCel可以同时支持Mysql,sql server,access,oracal。sqlcel的sql语句可以引用excel单元格的值作为变量。比如楼主要将123替换成Sheet1工作表的A1单元格的内容,那么SQL语句可以这么写
select from AAA WHERE A = [Sheet1!A1]
这样执行就可以引用A1单元格的值了
呵呵,以前就帮人家解决过这个,请看下面的代码,有注释的!
Private Sub CommandButton5_Click()
Dim Conn As New ADODBConnection '定义ADODB连接对象
Dim ConnStr As String '定义连接字符串
Dim xiao As String
xiao = ComDataText
'对于SQL 2008,如果以IP方式访问服务器,必须要启动SQL Server Browser服务,如果是Express版本,要以“IP(计算机名)\实例名”方式访问
ConnStr = txtDataText
Dim Records As New ADODBRecordset '定义ADODB对象的记录集
Dim Sheet As Worksheet '定义工作表
Set Sheet = ThisWorkbookWorksheets("Sheet2") '给变量Sheet赋值,注意:是工作簿中索引为1的那个表(通常一个新的工作簿Sheet1的索引为1)
'SheetName = "Data" '把Sheet名称改为Data
SheetCellsClear '清空表中原有的数据
'连接状态是打开就不在进行Open *** 作
ConnOpen ConnStr
Dim SQLStr As String '要执行的SQL语句
SQLStr = "select from Shift_Code where Club='" + xiao + "'" '可以执行更复杂的SQL语句
RecordsOpen SQLStr, Conn, adOpenStatic, adLockBatchOptimistic '读取SQL查询结果到Records记录集
'RecordsOpen
Dim i, j, TotalRows, TotalColumns As Integer
j = 0
TotalRows = RecordsRecordCount
TotalColumns = RecordsFieldsCount
'下面的循环把表头(即列名)写到Excel表的第一行
For i = 0 To TotalColumns - 1
Sheet2Cells(1, i + 1) = RecordsFields(i)Name
Next
'下面的循环把查询结果写到Excel表中
Do While Not RecordsEOF
For i = 0 To TotalColumns - 1
Sheet2Cells(j + 2, i + 1) = RecordsFields(i)Value
Next
RecordsMoveNext
j = j + 1
Loop
RecordsClose '关闭记录集
ConnClose '关闭连接
Set Records = Nothing '清空对象
Set Conn = Nothing '清空对象
End Sub
有什么不懂的话Hi我!
SQL SERVER 和EXCEL的数据导入导出
1、在SQL SERVER里查询Excel数据:
======================================================
SELECT
FROM OpenDataSource( 'MicrosoftJetOLEDB40',
'Data Source="c:\book1xls";User ID=Admin;Password=;Extended properties=Excel 50')[Sheet1$]
下面是个查询的示例,它通过用于 Jet 的 OLE DB 提供程序查询 Excel 电子表格。
SELECT
FROM OpenDataSource ( 'MicrosoftJetOLEDB40',
'Data Source="c:\Finance\accountxls";User ID=Admin;Password=;Extended properties=Excel 50')xactions
2、将Excel的数据导入SQL server :
======================================================
SELECT into newtable
FROM OpenDataSource( 'MicrosoftJetOLEDB40',
'Data Source="c:\book1xls";User ID=Admin;Password=;Extended properties=Excel 50')[Sheet1$]
实例:
SELECT into newtable
FROM OpenDataSource( 'MicrosoftJetOLEDB40',
'Data Source="c:\Finance\accountxls";User ID=Admin;Password=;Extended properties=Excel 50')xactions
3、将SQL SERVER中查询到的数据导成一个Excel文件
======================================================
T-SQL代码:
EXEC masterxp_cmdshell 'bcp 库名dbo表名out c:\Tempxls -c -q -S"servername" -U"sa" -P""'
参数:S 是SQL服务器名;U是用户;P是密码
说明:还可以导出文本文件等多种格式
实例:EXEC masterxp_cmdshell 'bcp saletesttmpdboCusAccount out c:\temp1xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC masterxp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubsauthors ORDER BY au_lname" queryout C:\ authorsxls -c -Sservername -Usa -Ppassword'
在VB6中应用ADO导出EXCEL文件代码:
Dim cn As New ADODBConnection
cnopen "Driver={SQL Server};Server=WEBSVR;DataBase=WebMis;UID=sa;WD=123;"
cnexecute "masterxp_cmdshell 'bcp "SELECT col1, col2 FROM 库名dbo表名" queryout E:\DTxls -c -Sservername -Usa -Ppassword'"
4、在SQL SERVER里往Excel插入数据:
======================================================
insert into OpenDataSource( 'MicrosoftJetOLEDB40',
'Data Source="c:\Tempxls";User ID=Admin;Password=;Extended properties=Excel 50')table1 (A1,A2,A3) values (1,2,3)
T-SQL代码:
INSERT INTO
OPENDATASOURCE('MicrosoftJETOLEDB40',
'Extended Properties=Excel 80;Data source=C:\training\inventurxls')[Filiale1$]
(bestand, produkt) VALUES (20, 'Test')
总结:利用以上语句,我们可以方便地将SQL SERVER、ACCESS和EXCEL电子表格软件中的数据进行转换,为我们提供了极大方便!
工具/原料
SQL Server Management Studio丶已建立sql数据库
方法/步骤
1打开SQL Server Management Studio,按图中的路径进入导入数据界面。
2导入的时候需要将EXCEL的文件准备好,不能打开。点击下一步。
3数据源:选择“Microsoft Excel”除了EXCEL类型的数据,SQL还支持很多其它数据源类型。
4选择需要导入的EXCEL文件。点击浏览,找到导入的文件确定。
5再次确认文件路径没有问题,点击下一步。
6默认为是使用的WINODWS身份验证,改为使用SQL身份验证。输入数据库密码,注意:数据库,这里看看是不是导入的数据库。也可以在这里临时改变,选择其它数据库。
7选择导入数据EXCEL表内容范围,若有几个SHEET表,或一个SHEET表中有些数据不想导入,则可以编写查询指定的数据进行导入。点击下一步。
8选择需要导入的SHEET表,比如在这里将SHEET表名改为price,则导入后生面的SQL数据库表为price$。点击进入下一步。
9点击进入下一步。
10在这里完整显示了导入的信息,执行内容,再次确认无误后,点击完成,开始执行。
11可以看到任务执行的过程和进度。
12执行成功:可以看看执行结果,已传输1754行,表示从EXCEL表中导入1754条数据,包括列名标题。这样就完成了,执行SQL查询语句:SELECT FROM price$就可以查看已导入的数据内容。
以上就是关于怎样将EXCEL数据表导入到SQL中全部的内容,包括:怎样将EXCEL数据表导入到SQL中、请教如何将excle上面的数据批量导入至sql2008数据库、在EXCEL中查询SQL数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)