将SQL Server查询导出本地excel(mail发送)-will.miao
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> ADP及SQL SERVER


将SQL Server查询导出本地excel(mail发送)

发表时间:2019/4/26 8:30:47 评论(0) 浏览(8769)  评论 | 加入收藏 | 复制
   
摘 要:将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群(群号:198465573)
 
 相关文章
用VBA发送邮件Email的一个问题及无可奈何的解决办法  【access  2007/11/24】
Email地址管理数据库  【红尘如烟  2010/4/27】
EXCEL\ACCESS导入导出  【zhaoyoulong  2015/4/30】
SQL Server导入导出不丢主键和视图的方法  【杜超  2015/5/31】
sql server--sql 导入导出操作EXCEL  【赵文斌  2016/4/17】
常见问答
技术分类
相关资源
文章搜索
关于作者

will.miao

文章分类

文章存档

友情链接