我尝试使用C#Excel互操作库在Excel工作表中加粗特定字符。我在花括号{}中有特定的字符,并使用此函数使它们变粗。
void FormatCharacters(Range r)
{
Characters chars = r.Characters[0, r.Text.Length];
if (chars.Text.Contains("{") && chars.Text.Contains("}"))
{
int startIndex = chars.Text.IndexOf("{");
int len = chars.Text.IndexOf("}") - startIndex + 1;
Characters bold = r.Characters[startIndex, len];
bold.Font.Bold = true;
bold.Text = bold.Text.Replace("{", "");
bold.Text = bold.Text.Replace("}", "");
}
else
return;
FormatCharacters(r);
}
如果单元格的文本少于256个字符,则该函数可以正常工作。当单元格的文本大于256时,我会得到以下异常:
System.Runtime.InteropServices.COMException
Message =无法获取Characters类的Text属性
错误码= -2146827284
如何在Excel Characters界面中克服这256个字符的限制?
使用互操作的任何替代方法?