问题复制粘贴CR + LF到Excel电子表格需要软段落(Alt + Enter)

我试图将我们的软件中创build的表复制到Excel电子表格中。

我们应用程序中的一些标题头太大而不适合列,所以它们被#13 +#10(CR + LF)分开,所以它们坐在下一行。 例如

Strain SpikeConc Spike ng/g dpm/g ------------------------- Blah 20.0 50.1 Blah2 22.1 60.2 

但是,当这被复制到Excel中,我们得到一个奇怪的事情发生。 CR + LF被解释为(你猜对了)一个新的行请求。 因此,我们得到的东西看起来完全错误。 例如

 Strain SpikeConc ng/g Spike dmp/g ------------------------- Blah 20.0 50.1 Blah 22.1 60.2 

SpikeConc错误地解释了CR + LF,并在新单元格中创build一个新行,而不是创build一个像段落一样的软段落,如果按Alt + Enter并在同一个单元格中给出一个新行。

任何人有任何想法如何编码一个软的段落,而不是一个新的路线?

我已经尝试过使用CR(#13)和它自己的LF(#10),但它们都有相同的行为。

我相信有一些unicode字符

LS:行分隔符,U + 2028

PS:段落分隔符,U + 2029

但我似乎无法find如何将它们编码到我的应用程序中的表格。

PS我们使用Delphi6(不要问)

太精彩了。 如果我这样说

 "SpikeConc #13+#10 ng/g" 

它在Excel中像这样正确显示它

 SpikeConc ng/g 

谢谢。 那让我疯狂

正如在评论中提到的那样,这是我们用来剥离CR的function。 要么这个或用双引号括住string就足以在Excel中有一个软返回。

 function RemoveCr(const Value: string): string; var I, J: Integer; begin J := 0; SetLength(Result, Length(Value)); for I := 1 to Length(Value) do if Value[I] <> #13 then begin Inc(J); Result[J] := Value[I]; end; SetLength(Result, J); end;