日期:2014-05-17  浏览次数:20642 次

查询结果导出到excel问题,求教
EXEC master..xp_cmdshell 'bcp 
"select 
商品编码=款号,品名规格=品名,颜色,年份,季节,主题='',计量单位='',调拨出库单日期=出入日期,调拨出库单号=单据编号,调出仓库=发货店仓,
原单数量='',
与原单差异数='',
终止数量='',出库确认时期=出入日期,调入店仓=收货店仓,在途数量=调拨在途量,出入库差异数=''
from tb_diaobo" queryout "
e:\test.xls" /c -/S"test" /U"sa" -P"sa"'

执行结果   没有生成excel文件
excel?导出

------解决方案--------------------

EXEC master..xp_cmdshell 'bcp 
"select 
商品编码=款号,品名规格=品名,颜色,年份,季节,主题='',计量单位='',调拨出库单日期=出入日期,调拨出库单号=单据编号,调出仓库=发货店仓,
原单数量='''',
与原单差异数='''',
终止数量='''',出库确认时期=出入日期,调入店仓=收货店仓,在途数量=调拨在途量,出入库差异数=''
from tb_diaobo" queryout "
e:\test.xls" /c -/S"test" /U"sa" -P"sa"'

原单数量=''''
与原单差异数=''''

------解决方案--------------------
引用:

EXEC master..xp_cmdshell 'bcp 
"select 
商品编码=款号,品名规格=品名,颜色,年份,季节,主题='',计量单位='',调拨出库单日期=出入日期,调拨出库单号=单据编号,调出仓库=发货店仓,
原单数量='''',
与原单差异数='''',
终止数量='''',出库确认时期=出入日期,调入店仓=收货店仓,在途数量=调拨在途量,出入库差异数=''
from tb_diaobo" queryout "
e:\test.xls" /c -/S"test" /U"sa" -P"sa"'

原单数量=''''
与原单差异数=''''

是四个单引号。。因为到执行的时候会变成 原单数量=,  所以报错
------解决方案--------------------

--将SQL SERVER中查询到的数据导成一个Excel文件
-- ======================================================
--T-SQL代码:
EXEC master..xp_cmdshell 'bcp 库名.dbo.表名out c:\Temp.xls -c -q -S"servername" -U"sa" -P""'
--参数:S 是SQL服务器名;U是用户;P是密码
--说明:还可以导出文本文件等多种格式
--实例:
EXEC master..xp_cmdshell 'bcp saletesttmp.dbo.CusAccount out c:\temp1.xls -c -q -S"pmserver" -U"sa" -P"sa"'
EXEC master..xp_cmdshell 'bcp "SELECT au_fname, au_lname FROM pubs..authors ORDER BY au_lname" queryout C:\ authors.xls -c -Sservername -Usa -Ppassword'