日期:2014-05-19  浏览次数:20423 次

从excel导入sql的问题
利用如下语句将excel导入sql
SELECT   *  
FROM   OpenDataSource(   'Microsoft.Jet.OLEDB.4.0 ',
    'Data   Source= "e:\txm.xls ";User   ID=Admin;Password=;Extended   properties=Excel   5.0 ')...sheet1$

得到如下结果
F1   F2   F3
ID   NAME   REMARK
1   aaa   bbb
2   ccc   ddd

注意,F1,F2等是字段名,而ID,NAME是第一行数据
现在要根据第一行得到如下数据集
编号   备注   姓名
1   bbb   aaa
2   ddd   ccc

注意,第一行变成了字段,而列的位置也放生了改变,请教如何实现?

------解决方案--------------------
--去掉f1,f2

SELECT id,remark,name
FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0 ',
'Data Source= "e:\txm.xls ";User ID=Admin;Password=;Extended properties=Excel 5.0 ')...sheet1$ into [tablename]

------解决方案--------------------
这个情况是因为你的excel中有大标题,也就是第一行不是列名,将第一行作为列名,就是姓名之类的放在第一行,导入后第一行会自动变为列名的