在sql代码中添加alt + enter(excel换行符)

问题描述 投票:3回答:4

我正在尝试创建一个脚本来从DB返回concat行,并使用c#用文本填充excel文件。

我管理好了所有事情,只是找不到换行的解决方案......

尝试过char(10)+ char(13)等等。

我知道在excel中如果想要添加新行,他会显示使用alt + enter。是否有代码添加到我的tsql脚本以获取excel文件中的换行符?

谢谢你,埃雷兹

asp.net sql-server-2005 tsql excel
4个回答
2
投票

我遇到了同样的问题,但我的是从SQL Server Management Studio结果窗口复制并粘贴到Excel文件中。这是同样的问题,更直接。

对于那些不理解这个问题的人来说,这是一个复制品。在SSMS中运行以下命令,并将结果复制并粘贴到Excel中。设置单元格以包装文本。

SELECT 'Hello' + CHAR(10) + 'World'

你会在一个单元格上看到Hello,在它下面的单元格上看到World。我们试图看到的是

Hello
World

在一个单元格中有一个换行符。

我的解决方案是将结果包含在引号中。有几种方法可以做到这一点。我发现这看起来最干净:

SELECT QUOTENAME('Hello' + CHAR(10) + 'World', '"')

结果是SSMS结果窗口中的“Hello World”。但是当粘贴到Excel并使用换行文本设置单元格时,我会得到所需的结果。


0
投票

Cr + Lf实际上是13 + 10而不是10 + 13。

如果这不起作用,单个char(10)将会。


0
投票

我的问题的解决方案是什么使用 在sql中并在c#中解码它,因为我从DataSet创建一个html表,然后将html表转换为excel样式表。

SQL:

SELECT br_in.BIText + '<br>'

C#:

StrReport.Append("<td>" + HttpUtility.HtmlDecode(ds.Tables[k].Rows[i][j].ToString()) + "</td>");

这是我唯一有用的东西,如果你想一想它甚至是有意义的....

谢谢你,埃雷兹


0
投票

这是我能让它发挥作用的唯一方法

SQL:选择'=“Hello”&CHAR(10)&“World”'

在Excel中,我还必须使用换行文本设置单元格。

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