SQL语句导入导出大全

本文探讨了SQL Server与Excel间的数据导入导出问题,特别是字段顺序不匹配的解决方案。通过对OpenRowSet的理解及正确使用,确保数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

源: http://www.cnblogs.com/tohen/archive/2008/09/18/751043.html
 
不管是把Sql Server表的资料插入Excel:
Insert   Into   OpenRowSet ( ' Microsoft.Jet.OLEDB.4.0 ' , ' Excel 5.0;hdr=Yes;DataBase=C:/test.xls ' ,test$)
select   *   from  T_test
还是把Excel的资料插入Sql Server表:
Insert   Into  T_test 
select   *   from   OpenRowSet ( ' Microsoft.Jet.OLEDB.4.0 ' , ' Excel 5.0;hdr=Yes;DataBase=C:/test.xls ' ,test$)

都有可能会遇见字段混乱的问题,
即:Sql Server表和Excel的字段顺序不一样!

其实,出现这样的问题,是对 OpenRowSet 使用不甚了解引起的!
hdr = Yes 表示Excel内容第一行作为内容字段而不是字段列,
所以,把 hdr = Yes 改为 hdr = No 即可!

Feedback

#1楼    回复  引用    

2007-05-23 23:46 by Zhengmh [未注册用户]
错,HDR参数并不能解决字段名排序的问题。

正确地应为:
select * into T_Test from OpenRowSet('Microsoft.Jet.OLEDB.4.0','Excel 8.0;hdr=No;IMEX=1;DataBase=C:/test.xls','select * from [test$]')

#2楼 [楼主]   回复  引用  查看    

2007-05-24 17:02 by tohen       
你说的非常正确,
谢谢你~~!

#3楼 [楼主]   回复  引用  查看    

2007-05-24 17:08 by tohen       
HDR=YES 有两个值:YES/NO,表示第一行是否字段名,默认是YES,第一行是字段名;
IMEX=1 解决数字与字符混合时,识别不正常的情况

解释 HDR :
1. HDR 只在" 把Excel的资料插入Sql Server表 "才有效!!
2. 如果是" 把Sql Server表的资料插入Excel " ,则Excel要建跟Sql Server表同等数量的字段(名称可以不一样), HDR这个参数无效.

#4楼    回复  引用    

2008-09-18 13:52 by 蝙蝠 [未注册用户]
导出到EXCEL的话,好像上述的方法都不能解决顺序乱的问题;可以参考: http://sql-server-performance.com/Community/forums/t/27960.aspx

#5楼    回复  引用    

2008-10-29 09:22 by lookice [未注册用户]
3楼说的正确
不知道能否通过SQL SERVER更新、删除excel中数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值