将SQL Server查询导出本地excel(mail发送)
时 间:2019-04-26 08:30:47
作 者:缪炜 ID:24010 城市:江阴
摘 要:将SQL Server查询导出本地excel(mail发送)
正 文:
1.将数据库中查询的表格导出到指定的路径,首先启用.xp_cmdshell,上一篇随笔有写如何开启.xp_cmdshell。
DECLARE @sql NVARCHAR(4000) --定义变量存储格式
DECLARE @server NVARCHAR(20) --定义变量存储格式
set @server='localhost' --赋值变量
DECLARE @filename1 NVARCHAR(max) --定义变量存储格式
SET @filename1='D:\\GSFiles\\HRLeave\\MonthStat\\GSOT_WeekRep_'+CONVERT(NVARCHAR,GETDATE(),112)+'.xls' --赋值变量路径
SET @sql= 'bcp "Select adays,empid,empname,THour3,DeptID,DeptName FROM GSeServiceDB.dbo.GSOT_Alarm_Day002_TOTAL" queryout '+@filename1+' -c -w -S '+@server+' -T ' --使用bcp queryout SQL语句导出数据库表存储到本地
EXEC master..xp_cmdshell @sql --执行@sql 的bcp命令
2.将存储本地的excel用邮件方式发送
EXEC msdb.dbo.sp_send_dbmail
@profile_name='MIS_EBIZ',
@recipients='邮件地址',
@copy_recipients='',
@blind_copy_recipients='',
@subject='',
@body='',
@body_format='HTML', --传送格式语言
@file_attachments =@filename1; --带入赋值变量存储的路径文件(附件)
注:Select @MailTo=COALESCE(@MailTo + ';' , '') + Email FROM account_Users Where EmpID in (select empid from GSOT_Group_Adm) AND IsLeave='N' AND Email!='' AND Email!='*******' --使用COALESCE函数将查询到的邮件地址以分号(;)隔开合并
Access软件网QQ交流群 (群号:54525238) Access源码网店
常见问答:
技术分类:
源码示例
- 【源码QQ群号19834647...(12.17)
- Access对子窗体数据进行批...(10.30)
- 最精简的组合框行来源数据快速输...(10.25)
- Access仿平台的多值选择器...(10.24)
- 【Access日期区间段查询】...(10.22)
- 【Access源码示例】VBA...(10.12)
- Access累乘示例,Acce...(10.09)
- 数值8.88,把整数8去掉,转...(10.08)
- 【Access自定义函数】一个...(09.30)
- 【Access选项卡示例】Ac...(09.09)
学习心得
最新文章
- Access判断多条明细的配方或订...(11.30)
- 如何让后台数据库在局域网共享时,且...(11.29)
- 【Access月初月末日期设置方法...(11.29)
- 【Access IIF函数嵌套示例...(11.26)
- Access快速开发平台--使用组...(11.25)
- Access快速开发平台--对上传...(11.22)
- Access快速开发平台企业版--...(11.18)
- 不会用多表联合查询,多表查询没结果...(11.16)
- 【案例分享】主键字段值含有不间断空...(11.16)
- Access快速开发平台--后台D...(11.14)