输出导出到Excel

时间:2019-07-19 07:46:20

标签: sql-server excel ssms

我们拥有SQL Server Management Studio,我们已经在其中编写了几个存储过程。目前,我们在HTML中进行输出并将其邮寄到所需的电子邮件ID。现在我们的要求是代替HTML,我们需要在excel中获取输出并将其邮寄到所需的ID。

2 个答案:

答案 0 :(得分:0)

我将使用SQL Server报告服务,并添加订阅,这些订阅将通过电子邮件将创建的结果发送为Excel或CSV文件。

答案 1 :(得分:0)

一个很好的问题。

正如Michael所提到的,您可以使用SQL Server Reporting Services(SSRS)创建一个报告,该报告将excel文件自动发送给您选择的订阅者。

在以下情况下,这可能是理想的解决方案:

  1. 您的业务部门希望报表具有特定的字体,配色方案和列格式,因为这是一种用户友好的方式,可以在添加电子邮件订阅之前对报表进行格式化并根据需要进行测试。当然,这取决于您的听众以及使用excel文件的方式。
  2. 您的团队中的支持分析人员或专家已被授予访问SSRS(但不一定是SQL Server Management Studio)的权限。根据我的经验,授予对一个而不是另一个的访问权可能会减轻存储过程或表被重写,删除,执行不当等的责任。
  3. 您的业务部门经常会更改订阅列表,因为您可以将编辑列表的责任移交给指定的用户支持团队成员,而不必费心SQL Developers。

但是,如果您希望创建一个存储过程来发送电子邮件或没有对SSRS的访问权限,那么您应该能够使用大容量复制程序(BCP)命令行实用程序来生成一个简单的CSV档案。以下是一些提供此选项进一步详细信息的资源:

https://www.red-gate.com/simple-talk/sql/database-administration/creating-csv-files-using-bcp-and-stored-procedures/

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/453c9593-a689-4f7e-8364-fa998e266363/how-to-export-sql-data-to-excel-spreadsheet-using-sql-query?forum=transactsql

如果您有任何其他疑问,请随时与我们联系!只要有能力,我总是很乐意提供帮助。