通过Sql Server创建EXCEL文件:master..xp_cmdshell

获取当前的一些需要的配置的值

打开配置

查询结果,生成Excel

发送数据

关闭选项

存储过程完整代码

USE HS_Suggestions_Complaints_System

GO

/****** Object: StoredProcedure dbo.CreateExcelReportAndSendSP Script Date: 11/13/2024 08:23:15 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

-- =============================================

-- Author: <Author,,Name>

-- Create date: <Create Date,,>

-- Description: <Description,,>

-- =============================================

ALTER PROCEDURE dbo.CreateExcelReportAndSendSP

AS

BEGIN

-- SET NOCOUNT ON added to prevent extra result sets from

-- interfering with SELECT statements.

SET NOCOUNT ON;

-- Insert statements for procedure here

declare @sao as int,

@xpcmd as int

SELECT @sao=convert(int,value) FROM sys.configurations where name='show advanced options' ORDER BY name

SELECT@xpcmd=convert(int,value) FROM sys.configurations where name = 'xp_cmdshell' ORDER BY name

select@sao

select@xpcmd

if@sao=0

begin

EXECsp_configure 'show advanced options', 1

RECONFIGURE

end

if@xpcmd=0

begin

EXECsp_configure 'xp_cmdshell', 1

RECONFIGURE

end

DECLARE@ReturnValue INT;

DECLARE@Infor AS NVARCHAR(MAX);

EXEC@ReturnValue=master..xp_cmdshell 'bcp "Select Top 1 N''Id''as Id,N''Title''as Title,N''Fcmy''as Fcmy,N''My''as My,N''Yb''as Yb,N''Bmy''as Bmy,N''Fcbmy''as Fcbmy,N''Create_date''as Create_date,N''Record_date''as Record_date,N''Create_by''as Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions

Union all SELECT Convert(varchar,Id),Title,Convert(varchar,Fcmy),Convert(varchar,My),Convert(varchar,Yb),Convert(varchar,Bmy),Convert(varchar,Fcbmy),Convert(nvarchar(100),Create_date,23)as Create_date,Convert(nvarchar(100),Record_date,23)as Record_date,Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions" queryout "D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv" -w -S"localhost" -U"sa" -P"GDhs3225966"'

if@ReturnValue =0

begin

Set@Infor='创建EXCEL执行成功。'

EXEC@ReturnValue = dbo.SendWeChatAttachment @FilePath = N'D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv',@Infor = @Infor OUTPUT

IF@Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否成功;

begin

Set@Infor='调用存储过程失败。'

end

end

else

begin

Set @Infor='创建EXCEL执行失败。'

end

EXECsp_configure 'xp_cmdshell', 0

RECONFIGURE

EXECsp_configure 'show advanced options', 0

RECONFIGURE

END

sql 复制代码
USE [HS_Suggestions_Complaints_System]
GO
/****** Object:  StoredProcedure [dbo].[CreateExcelReportAndSendSP]    Script Date: 11/13/2024 08:23:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[CreateExcelReportAndSendSP] 
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

       -- Insert statements for procedure here
	declare @sao   as int,
	        @xpcmd as int
	SELECT @sao=convert(int,value) FROM sys.configurations where name='show advanced options' ORDER BY name
	SELECT @xpcmd=convert(int,value) FROM sys.configurations where name = 'xp_cmdshell' ORDER BY name
	select @sao
	select @xpcmd
	if @sao=0
	   begin
	    EXEC sp_configure 'show advanced options', 1
	    RECONFIGURE
	   end
	if @xpcmd=0
	   begin
	    EXEC sp_configure 'xp_cmdshell', 1
	    RECONFIGURE
	   end
	DECLARE @ReturnValue INT;
	DECLARE @Infor AS NVARCHAR(MAX);
	EXEC @ReturnValue=master..xp_cmdshell 'bcp "Select Top 1 N''Id''as Id,N''Title''as Title,N''Fcmy''as Fcmy,N''My''as My,N''Yb''as Yb,N''Bmy''as Bmy,N''Fcbmy''as Fcbmy,N''Create_date''as Create_date,N''Record_date''as Record_date,N''Create_by''as Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions 
	Union all SELECT Convert(varchar,Id),Title,Convert(varchar,Fcmy),Convert(varchar,My),Convert(varchar,Yb),Convert(varchar,Bmy),Convert(varchar,Fcbmy),Convert(nvarchar(100),Create_date,23)as Create_date,Convert(nvarchar(100),Record_date,23)as Record_date,Create_by FROM HS_Suggestions_Complaints_System.dbo.Canteen_questions" queryout "D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv" -w -S"localhost" -U"sa" -P"GDhs3225966"'
	if @ReturnValue =0
	   begin
	     Set @Infor='创建EXCEL执行成功。'
	     EXEC @ReturnValue = [dbo].[SendWeChatAttachment] @FilePath = N'D:\HS_Suggestions_Complaints_System\HS_Suggestions_Complaints_System\ReportAttachment\Canteen_questions.csv',@Infor = @Infor OUTPUT
	     IF @Infor = '{"Message":"出现错误。"}' Or @ReturnValue=1 --判断调用存储过程是否成功;
	        begin
	          Set @Infor='调用存储过程失败。'
	        end
	   end
	else
	   begin
	     Set @Infor='创建EXCEL执行失败。'
	   end
	EXEC sp_configure 'xp_cmdshell', 0
	RECONFIGURE
	EXEC sp_configure 'show advanced options', 0
	RECONFIGURE
END
相关推荐
笨小孩@GF 知行合一9 小时前
易语言-高级应用
数据库·编程·易语言·中文编程
KaiwuDB10 小时前
KaiwuDB 运维实战04:DRBD + KaiwuDB——物联网场景下的低成本数据库高可用方案
运维·数据库·物联网·时序数据库·kaiwudb·aiot·多模数据库
夜雪一千11 小时前
MySQL外键彻底入门:是什么、怎么用、什么时候不该用
数据库·mysql
qq_3344668611 小时前
删除SSMS的历史登录记录
数据库·sql
zl_dfq12 小时前
Redis 之 【常见面试题总结】(从数据类型到高可用、缓存一致性全解析)
数据库·redis
龙亘川12 小时前
铭记英烈守初心,数字强基促服务:亘川智城退役军人服务系统的实践与价值
java·数据库·人工智能
kv11013 小时前
Android studio国内开发有关
java·数据库·android studio
哭泣方源炼蛊13 小时前
正则表达式c++内容汇集
数据库·c++·mysql·正则表达式
余槐i13 小时前
EXPLAIN 显示走了索引查询仍慢:回表与选择性在 500 万行表上拉开 10 倍耗时
数据库·postgresql·性能优化·vacuum·explain