a.我用SQLServer导入Excel文件时,竟然也出现了一个问题,有些字段明明有资料,但就是不显示。主要出现在字段里字符和数字混排的,就是一行数字,下一行可能是字符或字符数字混排的。
b.而我用Access导入该Excel文件,资料竟然全部导入,没有出现有些栏位内容不显示的问题。
2/尝试:
a.我尝试把Excel里面的栏位全部设置成Text格式,但是情况没有改观。
b.我尝试把Excel里面的栏位的内容全部前面加一个单引号,这个可以解决问题。但每天都有几万笔这样的资料,并且每行就有35个栏位,不可能一个一个修改啊。
做一个程式专门加单引号,每个栏位加一次,30000*35=1050000次加入操作, 速度很是慢啊。
c.用Access先导入Excel,然后再导出Excel文件,然后导入资料库,这也可以成功导入。但是客户没有安装Access,并且要中转,人家也不愿意。
3/期待:
a.期待以前有碰到过这种情况的朋友或其他高人给出好的解决方法。
b.我把源Excel文件先导入Access里面,然后又重Access里面把该表导出为Excel文件。我的源Excel文件和从Access里面导出的Excel文件对比了一下,发现Access里面导出的Excel文件在每个数字栏位中有加单引号。有没有什么快速的方法,让每个栏位都自动加单引号呢。
9 个解决方案
#1
試試用DTS來導導看,
把excel的欄位格式都設成文字
把excel的欄位格式都設成文字
#2
我就是用的SQLServer的DTS向导啊
#3
在MsSQLServer里面选择导出向导里面,在specify table copy or query这个选项里面你可以制定你的导出规则(选择use a query to specify the data to transfer)
#4
在那个地方啊,我怎么没有看到呢?
#5
为了大家方便研究,我把该文件上传了一个Demo上去,大家可以下载测试。
http://www.dunzip.com/download/viewer.rar
价格栏没有,或者订单编号没有
http://www.dunzip.com/download/viewer.rar
价格栏没有,或者订单编号没有
#6
SELECT *
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=C:\test\Viewer.xls', [SHEET1$])
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=C:\test\Viewer.xls', [SHEET1$])
#7
SELECT *
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=D:\Viewer.xls', [Sheet1$])
--把Sheet1改为你的工作表名
--注意:执行这个SQL时,先关闭这个XLS文件。
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=D:\Viewer.xls', [Sheet1$])
--把Sheet1改为你的工作表名
--注意:执行这个SQL时,先关闭这个XLS文件。
#8
学习
#9
学习
#1
試試用DTS來導導看,
把excel的欄位格式都設成文字
把excel的欄位格式都設成文字
#2
我就是用的SQLServer的DTS向导啊
#3
在MsSQLServer里面选择导出向导里面,在specify table copy or query这个选项里面你可以制定你的导出规则(选择use a query to specify the data to transfer)
#4
在那个地方啊,我怎么没有看到呢?
#5
为了大家方便研究,我把该文件上传了一个Demo上去,大家可以下载测试。
http://www.dunzip.com/download/viewer.rar
价格栏没有,或者订单编号没有
http://www.dunzip.com/download/viewer.rar
价格栏没有,或者订单编号没有
#6
SELECT *
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=C:\test\Viewer.xls', [SHEET1$])
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=C:\test\Viewer.xls', [SHEET1$])
#7
SELECT *
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=D:\Viewer.xls', [Sheet1$])
--把Sheet1改为你的工作表名
--注意:执行这个SQL时,先关闭这个XLS文件。
FROM OPENROWSET('MICROSOFT.JET.OLEDB.4.0',
'EXCEL 8.0;HDR=YES;IMEX=1;DATABASE=D:\Viewer.xls', [Sheet1$])
--把Sheet1改为你的工作表名
--注意:执行这个SQL时,先关闭这个XLS文件。
#8
学习
#9
学习