Excel导入Sqlserver的一些有关问题

Excel导入Sqlserver的一些问题!
最近一直整理数据,从Excel导入数据到sqlserver,搞的我焦头烂额。自己总结一下也省得以后忘记了,测试环境SQLSERVER2005,Excel2007.如果在sqlserver中查询97-03的excel是以下语句:
select * FROM OpenDataSource('Microsoft.Jet.OLEDB.4.0',  
 'Data Source=D:\test.xls;User ID=Admin;Password=;Extended properties=Excel 8.0;IMEX=1')...[Sheet1$];

原来一直以为sqlserver不支持导入Excel2007格式文件,后来证实了一下是可以的,导入语句则是以下的语句:
select * FROM OpenDataSource('Microsoft.ACE.OLEDB.12.0',  
 'Data Source=D:\test.xlsx;User ID=Admin;Password=;Extended Properties="Excel 12.0;HDR=No;IMEX=1"')...[Sheet1$];

HDR=No;IMEX=1这个属性在第一种情况下不能使用,不知道是什么原因?还希望有高人指点。
关于excel导入到sqlserver中数字变科学计算法或则是小数点后面多处好多小数点值的,我的解决办法是在创建表的时候先规定好,比如用:decimal(18, 3),这样小数点后面只能有三位了,在excel中转成文本是没用的。sqlserver还是会认为是数字。如果数据库字段改成文本的话,会导入错误。
以上有不对之后,还望多多指点!