日期:2014-05-18  浏览次数:20379 次

导入EXCEL数据问题
请问下,为什么我用SQLSERVER里的导入数据的时候,其中的列要么只能导纯数字的,要么纯数字的导不进去。我想要全部都能导入。实例:
AA列
34
34A
这里只能导入一个,请问怎么解决。
谢谢!!!

------解决方案--------------------
把excel转换成逗号分隔的文本文件,或者在数字前面加 '
------解决方案--------------------
AA列设置成varchar(10)
------解决方案--------------------
呵呵,默认第一行数据类型
------解决方案--------------------
select * from
openrowset( 'microsoft.jet.oledb.4.0 ', 'excel 8.0;database=d:\test.xls;hdr=false;imex=1 ', 'select * from [sheet1$] ')

------解决方案--------------------
可以啊,我导过可以啊
------解决方案--------------------
用 chuifengde(树上的鸟儿) 的方法即可
------解决方案--------------------
首先保证这一列是varchar()类型,
再用以下语句导:
declare @sql varchar(1000)
set @sql= ' '
select @sql=@sql+ 'bcp db_name..table_name in D:\...\test.xls -c '
------解决方案--------------------
保证目录的正确性,导的时候xls不能打开
------解决方案--------------------
Select * From OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel 5.0;HDR=NO;DATABASE=c:\dd.XLS ', 'select * from [sheet1$] ')

有几个注意点:
1.文件的路径一定要正确
2.在工作表名的后面一定要加上$符号
3.在工作表中尽量不要出现EXCEL特殊的内容
------解决方案--------------------
a
--------------------
AA列
'34
34A

老板这样再导一下!!!!
------解决方案--------------------
那你是把sheet1$的名字改了
------解决方案--------------------
mark
------解决方案--------------------
学习
------解决方案--------------------
按字符列处理