select * into #a from
OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\bxstudent.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]--以这个为例
1)要加上列名
2)是用Null来表示
3)就用我的例子
OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\bxstudent.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]--以这个为例
1)要加上列名
2)是用Null来表示
3)就用我的例子
select * from
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\test.xls'--c:\test.xls是excel文件名
,sheet1$) --sheet1$是工作表名+$连接excel
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="e:\excel\excel1.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]用bcp
导出到excel
EXEC master..xp_cmdshell 'bcp 数据库名.dbo.表名 out e:excel\excel1.xls -c -q -S"服务器名" -U"sa" -P"yjdn"'
2.null
3,dts,或者用SELECT a.* into 临时表
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'c:\MSOffice\Access\Samples\northwind.xls';'admin';'mypwd', Orders)
然后处理数据
怎么选取第一行?
这个是SQL的用户和密码吗?
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\test.xls'--c:\test.xls是excel文件名
,sheet1$) --得到的就是第一行
OLE DB 提供程序 'Microsoft.Jet.OLEDB.4.0' 报错。验证失败。
[OLE/DB provider returned message: 无法启动应用程序。工作组信息文件丢失,或是已被其它用户以独占方式打开。]
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\test.xls'--c:\test.xls是excel文件名
,sheet1$) a
where 字段名<>''--试试这个
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\test.xls'--c:\test.xls是excel文件名
,sheet1$) a
where 字段名<>''--试试这个
服务器: 消息 207,级别 16,状态 3,行 2
列名 '字段名' 无效。
这个的作用是怎么,怎么更改?
字段名是说你表中某个字段的名字啊
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\xj.xls'--c:\test.xls是excel文件名
,sheet1$) a
where a.id<>''
服务器: 消息 207,级别 16,状态 3,行 2
列名 'id' 无效。
这个怎么不好用?还是...?
'Data Source="c:\bxstudent.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]
--这个东西其实就相当于一个表,你就像对表一样操作就行了如果你的表中字段和excel中一样的话,顺序也一样的话
insert into SQL表 select 字段1,字段2.....(为防止导出顺序出错,最好写上) from 表(也就是上面那段)
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel 8.0;HDR=NO;DATABASE=c:\xj.xls'--c:\test.xls是excel文件名
,sheet1$) a
where a.id<>''
服务器: 消息 207,级别 16,状态 3,行 2
列名 'id' 无效。
这个怎么不好用?还是...?
------------------------
我用起来没问题,是不是你没id这个列
好了,今晚休息了,没空帮你了,晚安