第1个回答 2019-09-16
果从SQL数据库中,导出数据到Excel,如果Excel文件已经存在,而且已经按照要接收的数据创建好表头,就可以简单的用:
insert
into
OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
,'Excel
5.0;HDR=YES;DATABASE=c:test.xls',sheet1$)
select
*
from
表
--如果Excel文件不存在,也可以用BCP来导成类Excel的文件,注意大小写:
--导出表的情况
EXEC
master..xp_cmdshell
'bcp
pubs.dbo.authors
out
c:\temp1.xls
-c
-q
-S"HUAWEI-CECF7A04"
-U"sa"
-P"sa"''
执行SQL语句导出:
EXEC
master..xp_cmdshell
'bcp
"SELECT
au_fname
FROM
pubs.dbo.authors"
queryout
c:\temp1.xls
-c
-S"HUAWEI-CECF7A04"
-U"sa"
-P"sa"'
注意以上c:\temp1.xls必须不存在
使用CopyFromRecordset将一个记录集中的所有记录一起写入EXCEL
示例
本示例将
DAO
Recordset
对象中的字段名称复制到工作表的第一行中,并将这些名称的格式设为加粗。然后,本示例将记录集复制到工作表中,复制的起始位置在
A2
单元格。
For
iCols
=
0
to
rs.Fields.Count
-
1
ws.Cells(1,
iCols
+
1).Value
=
rs.Fields(iCols).Name
Next
ws.Range(ws.Cells(1,
1),
_
ws.Cells(1,
rs.Fields.Count)).Font.Bold
=
True
ws.Range("A2").CopyFromRecordset
rs