繁体   English   中英

SQL SERVER FOR XML PATH-使用Integration Services将数据导出到excel

[英]SQL SERVER FOR XML PATH - Exporting data to excel using Integration Services

使用以下SO和代码的帮助:

select t1.*,
       stuff( (select '; ' + coalesce(data1, '') + ',' + coalesce(data2, '')
               from table2 t2
               where t2.FK_TBL1_ID = t1.id
               for xml path ('')
              ), 1, 2, ''
            ) as Data1Data2
from table1 t1;

我在sql视图中成功地将多行多列合并为一行一列。

我最终想要实现的是能够在多行组合的每一行中,在如下所示的excel单元格中查看时打破新记录的行:

**Data1Data2Cell**

  aaaa, bbbb; 
  cccc, dddd;
    ....

在每个单元格上使用ALT + ENTER可以在Excel中实现相同的功能。

我尝试使用Char(10)和Char(13)无济于事。

您应该将STUFF的第一行更改为此

 stuff( (select CHAR(10)+ coalesce(data1, '') + ',' + coalesce(data2, '')+'; '

这将在字符串中正确引入必要的换行符。

在这里查看工作演示

请注意,当您在SSMS中运行此查询时,您可能无法正确看到结果,因为通常结果显示在如下所示的网格视图中

普通视图

为了获得正确的视图,您应该通过按cntrl + t或单击顶部菜单中的“查询”选项将查询结果更改为文本视图(请参见下面的屏幕截图)

结果文本

最后,在此之后,您的查询将为您提供正确的结果视图,如下所示

文字结果视图

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM