社区
应用实例
帖子详情
excel的电话号码如何导入到SQL中
zeliangzhang19801124
2009-07-24 12:06:09
加精
EXCEL有一个字段数据如下,
用户电话
15855656158
15083281111
15905664713
15705660417
0371-3355588
13966247559
0371-2856565
如何用SQL语句将数据原封不对的导入到SQL server数据库中
...全文
7155
135
打赏
收藏
excel的电话号码如何导入到SQL中
EXCEL有一个字段数据如下, 用户电话 15855656158 15083281111 15905664713 15705660417 0371-3355588 13966247559 0371-2856565 如何用SQL语句将数据原封不对的导入到SQL server数据库中
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
135 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Lee279394211
2012-10-06
打赏
举报
回复
强帖,先顶了再看,谢谢
luo960253236
2012-08-14
打赏
举报
回复
不用写代码也行的,不过写代码的真的很牛了
zmw2000
2012-05-07
打赏
举报
回复
好多的高手哦
天才在左疯子在右
2012-05-06
打赏
举报
回复
对,微软直接将他的产品都集成起来了
lovezx1028
2010-01-29
打赏
举报
回复
shoucang
vbz001
2009-11-02
打赏
举报
回复
还是学到不少 不过我用sql server 2005进入从数据库中导出怎么做有点问题 说数据类型不对 怎么搞
bdx808
2009-11-01
打赏
举报
回复
mark!
appleller
2009-10-31
打赏
举报
回复
一次性的手工导入就好了
常用的写个工具吧
langzhiwang888
2009-10-26
打赏
举报
回复
[Quote=引用 3 楼 feixianxxx 的回复:]
SQL code1、在SQL数据库中直接从Excel里面查询数据:select*fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)2、从Excel文件中,导入数据到SQL数据库中,select*into 表fromOPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)3、从SQL数据库中,导出数据到Excel(excel存在),insertintoOPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 5.0;HDR=YES;DATABASE=c:\test.xls',sheet1$)select*from 表4、从SQL数据库中,导出数据到Excel(excel不存在),---- 导出表EXEC master..xp_cmdshell'bcp 数据库名.dbo.表名 out "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"'---- 导出查询语句EXEC master..xp_cmdshell'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout "c: est.xls" /c -/S"服务器名" /U"用户名" -P"密码"'5、导入导出的存储过程--下面是导出真正Excel文件的方法:(请将一下所有代码复制到存储过程中)ifexists (select*from dbo.sysobjectswhere id=object_id(N'[dbo].[p_exporttb]')andOBJECTPROPERTY(id, N'IsProcedure')=1)dropprocedure[dbo].[p_exporttb]GO/**//*--数据导出EXCEL
导出表中的数据到Excel,包含字段名,文件为真正的Excel文件
,如果文件不存在,将自动创建文件
,如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
--邹建 2003.10(引用请保留此信息)--*//**//*--调用示例
p_exporttb @tbname='地区资料',@path='c:',@fname='aa.xls'
--*/createproc p_exporttb@tbname sysname,--要导出的表名@pathnvarchar(1000),--文件存放目录@fnamenvarchar(250)=''--文件名,默认为表名asdeclare@errint,@srcnvarchar(255),@descnvarchar(255),@outintdeclare@objint,@constrnvarchar(1000),@sqlvarchar(8000),@fdlistvarchar(8000)--参数检测ifisnull(@fname,'')=''set@fname=@tbname+'.xls'--检查文件是否已经存在ifright(@path,1)<>''set@path=@path+''createtable #tb(abit,bbit,cbit)set@sql=@path+@fnameinsertinto #tbexec master..xp_fileexist@sql--数据库创建语句set@sql=@path+@fnameifexists(select1from #tbwhere a=1)set@constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'+';CREATE_DB="'+@sql+'";DBQ='+@sqlelseset@constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'+';DATABASE='+@sql+'"'--连接数据库exec@err=sp_oacreate'adodb.connection',@obj outif@err<>0goto lberrexec@err=sp_oamethod@obj,'open',null,@constrif@err<>0goto lberr/**//*--如果覆盖已经存在的表,就加上下面的语句
--创建之前先删除表/如果存在的话
select @sql='drop table ['+@tbname+']'
exec @err=sp_oamethod @obj,'execute',@out out,@sql
--*/--创建表的SQLselect@sql='',@fdlist=''select@fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+']'+casewhen b.namelike'%char'thencasewhen a.length>255then'memo'else'text('+cast(a.lengthasvarchar)+')'endwhen b.namelike'%int'or b.name='bit'then'int'when b.namelike'%datetime'then'datetime'when b.namelike'%money'then'money'when b.namelike'%text'then'memo'else b.nameendFROM syscolumns aleftjoin systypes bon a.xtype=b.xusertypewhere b.namenotin('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')andobject_id(@tbname)=idselect@sql='create table ['+@tbname+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)exec@err=sp_oamethod@obj,'execute',@out out,@sqlif@err<>0goto lberrexec@err=sp_oadestroy@obj--导入数据set@sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES;IMEX=1
;DATABASE='+@path+@fname+''',['+@tbname+'$])'exec('insert into'+@sql+'('+@fdlist+') select'+@fdlist+' from'+@tbname)return
lberr:exec sp_oageterrorinfo0,@src out,@desc out
lbexit:selectcast(@errasvarbinary(4))as 错误号
,@srcas 错误源,@descas 错误描述select@sql,@constr,@fdlistgoifexists (select*from dbo.sysobjectswhere id=object_id(N'[dbo].[p_exporttb]')andOBJECTPROPERTY(id, N'IsProcedure')=1)dropprocedure[dbo].[p_exporttb]GO/**//*--数据导出EXCEL
导出查询中的数据到Excel,包含字段名,文件为真正的Excel文件
如果文件不存在,将自动创建文件
如果表不存在,将自动创建表
基于通用性考虑,仅支持导出标准数据类型
--邹建 2003.10(引用请保留此信息)--*//**//*--调用示例
p_exporttb @sqlstr='select * from 地区资料'
,@path='c:',@fname='aa.xls',@sheetname='地区资料'
--*/createproc p_exporttb@sqlstrvarchar(8000),--查询语句,如果查询语句中使用了order by ,请加上top 100 percent@pathnvarchar(1000),--文件存放目录@fnamenvarchar(250),--文件名@sheetnamevarchar(250)=''--要创建的工作表名,默认为文件名asdeclare@errint,@srcnvarchar(255),@descnvarchar(255),@outintdeclare@objint,@constrnvarchar(1000),@sqlvarchar(8000),@fdlistvarchar(8000)--参数检测ifisnull(@fname,'')=''set@fname='temp.xls'ifisnull(@sheetname,'')=''set@sheetname=replace(@fname,'.','#')--检查文件是否已经存在ifright(@path,1)<>''set@path=@path+''createtable #tb(abit,bbit,cbit)set@sql=@path+@fnameinsertinto #tbexec master..xp_fileexist@sql--数据库创建语句set@sql=@path+@fnameifexists(select1from #tbwhere a=1)set@constr='DRIVER={Microsoft Excel Driver (*.xls)};DSN='''';READONLY=FALSE'+';CREATE_DB="'+@sql+'";DBQ='+@sqlelseset@constr='Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties="Excel 8.0;HDR=YES'+';DATABASE='+@sql+'"'--连接数据库exec@err=sp_oacreate'adodb.connection',@obj outif@err<>0goto lberrexec@err=sp_oamethod@obj,'open',null,@constrif@err<>0goto lberr--创建表的SQLdeclare@tbname sysnameset@tbname='##tmp_'+convert(varchar(38),newid())set@sql='select * into ['+@tbname+'] from('+@sqlstr+') a'exec(@sql)select@sql='',@fdlist=''select@fdlist=@fdlist+',['+a.name+']'
,@sql=@sql+',['+a.name+']'+casewhen b.namelike'%char'thencasewhen a.length>255then'memo'else'text('+cast(a.lengthasvarchar)+')'endwhen b.namelike'%int'or b.name='bit'then'int'when b.namelike'%datetime'then'datetime'when b.namelike'%money'then'money'when b.namelike'%text'then'memo'else b.nameendFROM tempdb..syscolumns aleftjoin tempdb..systypes bon a.xtype=b.xusertypewhere b.namenotin('image','uniqueidentifier','sql_variant','varbinary','binary','timestamp')and a.id=(select idfrom tempdb..sysobjectswhere name=@tbname)if@@rowcount=0returnselect@sql='create table ['+@sheetname+']('+substring(@sql,2,8000)+')'
,@fdlist=substring(@fdlist,2,8000)exec@err=sp_oamethod@obj,'execute',@out out,@sqlif@err<>0goto lberrexec@err=sp_oadestroy@obj--导入数据set@sql='openrowset(''MICROSOFT.JET.OLEDB.4.0'',''Excel 8.0;HDR=YES
;DATABASE='+@path+@fname+''',['+@sheetname+'$])'exec('insert into'+@sql+'('+@fdlist+') select'+@fdlist+' from ['+@tbname+']')set@sql='drop table ['+@tbname+']'exec(@sql)return
lberr:exec sp_oageterrorinfo0,@src out,@desc out
lbexit:selectcast(@errasvarbinary(4))as 错误号
,@srcas 错误源,@descas 错误描述select@sql,@constr,@fdlistgo000
(请您对文章做出评价)
[/Quote]
强啊
sea0302
2009-10-25
打赏
举报
回复
28楼的方法还是不错的,操作简单
IMUSTWorking
2009-10-22
打赏
举报
回复
SQL Server Data Import/Exprot工具试试。
kajaje
2009-10-21
打赏
举报
回复
MSSQL2005注意要开启openrowset选项
walkingboy
2009-10-21
打赏
举报
回复
不错,学习了。
marysa
2009-10-21
打赏
举报
回复
学习中。。。。。。
hanyise520
2009-10-18
打赏
举报
回复
xls里没有的字段,导入进去会是什么!
cen1934
2009-10-17
打赏
举报
回复
好贴,学习+支持
fly_mefly
2009-10-16
打赏
举报
回复
SELECT * into dbo.tabel5
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="D:\book.xls";Extended properties=Excel 5.0')...[Sheet1$]
这可以
zeliangzhang19801124
2009-08-31
打赏
举报
回复
虽有许多的参考何时价值,但还不能全部解决问题,如有的列有数字和字符,但在其他列就有数字和科学记数法,人知如何解决。
zeliangzhang19801124
2009-08-29
打赏
举报
回复
便还不能有效的解决问题,谁还有好的方法。
cqhweb
2009-07-29
打赏
举报
回复
好东东...
加载更多回复(110)
C#对
sql
中
的数据
导入
导出
用C#编程语言进行对
sql
数据库的连接,并进行数据的
导入
与导出
C#对
SQL
Server
中
的数据
导入
导出.pdf
C#对
SQL
Server
中
的数据
导入
导出.pdf
Excel
导入
所有Sheel
中
数据代码
Excel
导入
所有Sheel
中
数据代码
sql
server版号码归属地
1.压缩包
中
是搜集来的号码归属地一共是32万条数据,
sql
server可直接还原数据库,或附加,另支持
excel
导入
到其它数据库
C#对
SQL
_Server
中
的数据
导入
导出
C#对
SQL
_Server
中
的数据
导入
导出
应用实例
27,581
社区成员
68,544
社区内容
发帖
与我相关
我的任务
应用实例
MS-SQL Server 应用实例
复制链接
扫一扫
分享
社区描述
MS-SQL Server 应用实例
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章