fosfa 发表于 2016-4-17 17:33:52

单元格的内容使用\n不能实现强制换行

本帖最后由 fosfa 于 2016-4-17 17:37 编辑

使用如下语句:
gcSpreadSheet1.ActiveSheet.Cells.Text = "aaa\nbbb" ;

然后再使用 SaveExcel();    输出到Excel文件,打开Excel后可以看到,对应的单元格的内容并没有换行。   这是怎么回事?

dexteryao 发表于 2016-4-18 11:25:36

问题我重现了,并且发现导出后在编辑栏点击一下后就自动换行了。现在调查发现导出的excel格式没有问题,怀疑也可能是excel程序的问题,请问您使用的excel是什么版本?

fosfa 发表于 2016-4-18 23:40:56

本帖最后由 fosfa 于 2016-4-18 23:43 编辑

dexteryao 发表于 2016-4-18 11:25
问题我重现了,并且发现导出后在编辑栏点击一下后就自动换行了。现在调查发现导出的excel格式没有问题,怀 ...
我两台电脑, 一台是office2013,一台是office2010, 不管是保存为xls 还是xlsx 都是这个问题。
我发现,不只是用c# 中的\n会出现这个问题,用XAML中的“&#xa”也依然会出现这个问题。。例如:textblock中有“&#xa”换行符的话,将这个textblock中的内容读取到表格中,然后再导出的Excel也不会换行。。。。

fosfa 发表于 2016-4-18 23:56:25

fosfa 发表于 2016-4-18 23:40
我两台电脑, 一台是office2013,一台是office2010, 不管是保存为xls 还是xlsx 都是这个问题。
我发现 ...

但是也有例外:
我试着写了一个简单的demo,该demo中含有一个spread表格, 另外有一个按键,一点击这个按键 就会将spread表格导出为Excel。
然后运行程序,然后在spread表格中 人工输入内容, 利用alt+enter 换行。 然后点击按键输出Excel,就可以看到输出的Excel 是没有问题的,有换行。

所以我想知道, spread 将外界输入进去的内容在后台是以什么形式保存的? 其中的 alt+enter 换行难道不是\n?

dexteryao 发表于 2016-4-19 09:52:47

加上this.gcSpreadSheet1.ActiveSheet.Cells.WordWrap = true; 就好了。
页: [1]
查看完整版本: 单元格的内容使用\n不能实现强制换行