通过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
相关推荐
zzzll11112 小时前
用 DeepSeek Harness 手搓一个自己的 Agent
数据库
名字还没想好☜2 小时前
Spring @EventListener 事件驱动解耦实战:同步转异步、事务绑定与顺序控制
java·数据库·后端·python·spring
del2 小时前
第十周技术博客
数据库
1314lay_10072 小时前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
anxiao_m3 小时前
2026大文件传输软件推荐,从速度安全多维度客观测评
数据库·文件传输·传输
IT大白鼠3 小时前
MySQL 分布式集群系列 · 第七篇——生产调优实战:NDB 性能、内存、高可用全方位优化
数据库·分布式·mysql
IvorySQL3 小时前
打造下一代 AI Agent 的统一多模智能数据底座——PostgreSQL 与 AI 的融合演进
数据库·人工智能·postgresql
ShineWinsu3 小时前
对于MySQL:内置函数的解析
linux·数据库·c++·mysql·面试·函数·查询
isNotNullX3 小时前
智能问数为什么答不准?数据、语义、模型、SQL四层拆解
数据库