如何以编程方式在C#中的Excel单元格中插入新行?

Use*_*ser 22 .net c# excel aspose

我正在使用Aspose库来创建Excel文档.在某个单元格的某处,我需要在文本的两个部分之间插入一个新行.

我试过"\ r \n"但它不起作用,只在单元格中显示两个方形符号.但是我可以按Alt + Enter在同一个单元格中创建一个新行.

如何以编程方式插入新行?

Ahm*_*eed 27

来自Aspose Cells论坛:如何在单元格中使用新行char?

提供文本后,应将单元格的IsTextWrapped样式设置为true

worksheet.Cells[0, 0].Style.WrapText = true;
Run Code Online (Sandbox Code Playgroud)

  • 这对我来说和文本中的"\n"命令一起工作. (7认同)

小智 8

cell.Text = "your firstline<br style=\"mso-data-placement:same-cell;\">your secondline";
Run Code Online (Sandbox Code Playgroud)

如果您从DB获取文本,则:

cell.Text = textfromDB.Replace("\n", "<br style=\"mso-data-placement:same-cell;\">");
Run Code Online (Sandbox Code Playgroud)


Gar*_*ill 5

您需要插入Excel使用的字符代码,IIRC为10(十).


编辑:好的,这是一些代码.请注意,通过创建包含以下内容的单元格,我能够确认使用的字符代码确实是10

一个

...然后选择它并在VBA立即窗口中执行它:

?Asc(Mid(Activecell.Value,2,1))
Run Code Online (Sandbox Code Playgroud)

因此,将该值插入VBA中的另一个单元格所需的代码将是:

ActiveCell.Value = "A" & vbLf & "B"
Run Code Online (Sandbox Code Playgroud)

(因为vbLf是字符代码10).

我知道你正在使用C#,但是我发现如果你第一次在VBA中做这件事要弄清楚要做什么容易得多,因为你可以"交互式地"试用它而不需要编译任何东西.无论你在C#中做什么,只是复制你在VBA中所做的事情,所以几乎没有任何区别.(请记住,C#interop的东西只是使用与VBA相同的底层COM库).

无论如何,这个C#将是:

oCell.Value = "A\nB";
Run Code Online (Sandbox Code Playgroud)

指出不同 :-)


编辑2:Aaaargh!我只是重新阅读帖子,看到你正在使用Aspose库.对不起,在那种情况下我不知道.