将SQL数据导出到Excel-最佳方法?

问题描述 投票:0回答:2

我目前正在从事一项自动化工作,该工作要求将sql结果导出到excel数据。我想通过SQL查询做到这一点。我知道的几种选择如下,但是在我开始探索这些东西之前。我想知道最好的方法。

PS-如果有一种方法可以在查询执行期间动态创建Excel并在多个Excel工作表中导出数据,那真是太好了。

  1. OPENROWSET
  2. bcp_cmd
sql sql-server excel export bcp
2个回答
0
投票

您可以通过CREATE VIEWExcel 2016的数据连接下的PowerQuery中使用该视图。首选视图,因为视图是在服务器中独立管理的,并提供实时数据结果,而无需在Excel文件中嵌入完整查询。结果集作为可刷新表存在于工作簿中。需要记录的结果应该通过新的工作簿完成,或者通过单独的脚本将UPDATE返回到服务器。

enter image description here

在PowerQuery编辑器的“主页”选项卡中,单击Advanced Editor。数据库连接字符串和对服务器的调用在下面。您还可以使用Name Manager中的表将参数从Excel表动态传递给查询。

Excel tab, table name: tbl_Parameters

    A         B
1 StartDate  01/01/2020
2 EndDate    02/01/2020
let
   Source = Sql.Database("ServerName" , "Database", [Query="

DECLARE @Start_Date AS datetime
DECLARE @End_Date AS datetime

SET @Start_Date = '"&StartDate&"'
SET @End_Date = '"&EndDate&"'


SELECT * FROM uvw_product
WHERE item_sold_date BETWEEN
@Start_Date AND @End_Date

"])
in
   Source

0
投票

前一段时间,我将这个Powershell脚本拼凑在一起。它查询sql server数据,另存为csv,对其进行格式化并另存为xls,然后通过smtp进行邮件发送。您可以设置Windows计划任务以使其自动化。

© www.soinside.com 2019 - 2024. All rights reserved.