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

时间:2012-01-17 15:25:57

标签: asp.net sql-server-2005 tsql excel

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

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

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

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

谢谢你, 埃雷兹

5 个答案:

答案 0 :(得分:2)

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

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

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

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

Hello
World

在一个包含换行符的单元格中。

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

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

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

答案 1 :(得分:0)

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

如果这不起作用,则会有一个char(10)。

答案 2 :(得分:0)

我的问题的解决方案是什么在tsql中使用
并在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>");

这是唯一适用于我的情况,如果你考虑它甚至有意义......

谢谢你, 埃雷兹

答案 3 :(得分:0)

这是我可以使用它的唯一方法

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

在Excel中,我还必须为单元格设置自动换行文本。

答案 4 :(得分:0)

就我而言,它与以下对象一起工作

string text = String.Format(“ \” {0} \“”,text);

通过将测试设置为此格式,它将在Excel中创建alt + Enter。