Excel导入SQL Server以及数字文本混合问题 (测试通过)
来源:互联网 发布:为知笔记的注册登录 编辑:程序博客网 时间:2024/05/21 10:03
~~这部分测试通过
方法一:
对于数字和字母混合的导入:先将数据复制到txt,然后新建Excel,“自文本”导入--在第二步中,“文本识别符号”选择{无},第三步中,在“数据预览”表中选中所有列,设置“列数据格式”为“文本”。点击完成。导入的临时表的列全部为nvarchar(255)。
这种方法能同时解决这两个问题:
Excel中的数字导入到SQL Server中变成科学计数法样式的float问题;
Excel中数字和字母混合值,在导入后为NULL。
方法二:
通过下面的语句,并将含有数字和文本的栏位所有值前加一空格,这样读取时默认为文本类型
ulpath="C:/uld/"
wsheet = "Sheet1"
ultbl = "testtable"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _
"DriverId=790;" & _
"Dbq=" & ulpath & "/test.xls;" & _
"DefaultDir=" & ulpath & ";"
set ts = conn.Execute("select * from [" & wsheet &"$]")
mysql="select * from " & ultbl
set rs=server.createobject("adodb.recordset")
rs.cursorlocation=3
rs.open mysql,con,3,3
for i = 0 to ts.fields.count-1
tsfld=tsfld &"|"& ucase(ts.fields(i).name) & "|"
next
item=0
Do While Not (ts.eof)
item=item +1
rs.addnew
for j= 0 to rs.fields.count-1
if instr(tsfld,"|"& ucase(rs.fields(j).name&"|"))>0 then
if not isnull(ts.fields(rs.fields(j).name)) then
d=trim(ts.fields(rs.fields(j).name))
else
d=ts.fields(rs.fields(j).name)
end if
rs.fields(rs.fields(j).name)=d
end if
next
ts.movenext
rs.update
Loop
ts.close
conn.close
set ts = nothing
set rs=nothing
set conn=nothing
~~下面部分有待查证~~
应将excel文件放入服务器(要和SQL Server一个分区)。
**************
--打开安全许可(SQL server会定时自动关闭)
exec sp_configure 'show advanced options',1
reconfigure
exec sp_configure 'Ad Hoc Distributed Queries',1
reconfigure
SELECT * INTO TempUser FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:/WWW//UserInfo.xls', 'SELECT * FROM [Sheet1$]')
--后缀名不能为xlsx,也就是必须是97-2003格式。
--[Sheet1$]中,Sheet1为Excel文件中的表单名称。
--关闭安全许可
exec sp_configure 'Ad Hoc Distributed Queries',0
reconfigure
exec sp_configure 'show advanced options',0
reconfigure
还可参考以下两篇文章 :
http://www.cnblogs.com/frostcity/archive/2008/03/07/1095484.html (关于SQL Server官方对于从Excel导入数据时的自动格式判断规则)
http://hi.baidu.com/jetqu2003/blog/item/c1f66513a9da24866438dbf7.html (包含SQL Server与Access的导入,还有关于从Excel将数字导入SQL Server问题的另一种方法)
- Excel导入SQL Server以及数字文本混合问题 (测试通过)
- Excel数字文本混合列导入SQL Server出现的问题&解决办法
- Excel数字、文本混合列导入SQL Server出现的问题&解决办法
- Excel数字、文本混合列导入SQL Server出现的问题&解决办法
- 使用SQL Server导入数据功能导入Excel之数字编号问题
- 数据导入excel时文本数字混合列问题
- 数据导入excel时文本数字混合列问题
- 快速导入EXCEL到SQL的SQL语句,此方法可以解决数字字母混合的问题
- 通过本地sql server 将excel导入远程sql server
- .NET----导入EXCEL到SQL SERVER问题
- excel数据导入sql server ,"文本被截断"错误
- sql server导入excel
- 通过语句将excel文档导入进SQL Server 2008
- sql sever中excel或文本导入的问题
- Excel作为数据源和导入SQL Server碰到的问题
- excel导入到SQL SERVER
- sql server查询导入EXCEL
- Excel导入SQL SERVER中
- 2010 iPhone iPad Top Gun 培训邀请函
- wince500
- 家庭资产4321原则
- F12转到定义时,总是显示从元数据,不能进行编辑
- jQuery技巧
- Excel导入SQL Server以及数字文本混合问题 (测试通过)
- linux fg bg ctrl + z jobs & 等命令
- Android 保存画图
- 动画专题研究 一
- fatal error C1010: 在查找预编译头指令时遇到意外的文件结尾的解决办法
- vb语句,不算最全,有一些没加进去,对于学习的人来说够用了。
- BPM与ERP、OA系统的区别和关系
- Spring下的JNDI数据源配置
- 使用OpenCV求模拟矩阵的逆矩阵