如何使用C#编辑单个Excel单元格中的行

ac1kyiln  于 2023-04-22  发布在  C#
关注(0)|答案(2)|浏览(179)

我正在使用C# WPF应用程序创建Excel文件。在某些时候,我的单元格包含不同的行(使用\n)
我尝试使用XLWorkbook编辑这些行的字体颜色/粗体(或不),我们可以更改这种参数,但是,我只找到影响整个单元格的方法,我对此不感兴趣。
使用IXLCell和RichText,我不确定是否理解,我尝试了几种对我不起作用的方法。

IXLCell cell = worksheet.Cell(lineC, colF);
string cellText = cell.GetRichText().ToString();
string[] splitLines = cellText.Split('\n');

在这一点上,我的行是分裂的。但我找不到任何定义,可以影响颜色或字体的一个单一的这些。所以我试着这样做:

var textFirstLine = cellRichText.First();
textFirstLine.Bold = true;
textFirstLine.FontColor = XLColor.FromHtml(myColor);

一开始我是这么想的。First()会给予我第一行,但实际上它返回的是整个单元格。到目前为止我还不知道,有什么想法吗?这可能吗?
谢谢你的帮助

zqdjd7g9

zqdjd7g91#

多亏了PaulF,我检查了Github,我觉得不早点做很糟糕,但我找到了一个解决方案:

var cellText = worksheet.Cell(lineC, colF);
string[] lines = cellText.Value.ToString().Split('\n');
cellText.GetRichText().Substring(0, lineLength)
    .SetFontColor(XLColor.FromHtml(chain_color))
    .SetBold(TRUE);

它第一次没有工作,因为我使用了一个字符串var,使用它您无法访问RichText,第二次,def不是RichText()而是GetRichText()

ryevplcw

ryevplcw2#

试试这个:

IXLCell cell = worksheet.Cell("A1");

cell.CreateRichText();
cell.GetRichText().AddText("Hello").SetBold(true).SetFontColor(XLColor.PiggyPink);
cell.GetRichText().AddText("World").SetBold(false).SetFontColor(XLColor.Blue);
cell.GetRichText().AddText("Hello!!!!").SetBold(true).SetFontColor(XLColor.Red);

相关问题