我需要修改的代码会创建一个Excel电子表格并在单元格中插入搜索结果。逻辑找到匹配并复制代码中的整行。然后它用<comma>
替换逗号,不知道为什么,但这并不重要。我需要突出显示此搜索结果中的特定单词,最好是粗体和红色。请参阅下面的示例,搜索参数是COMPUTE,结果是整行代码,符合设计。
)WITH(PAD_INDEX = OFF STATISTICS_NORE COMPUTE = OFF IGNORE_DUP_KEY = OFF ALLOW_ROW_LOCKS = ON
我有一些基本代码将“上下文”变量拆分为字符串数组,如果找到匹配则应该格式化单词 - 但这就是我的挑战所在。
我发现了很多关于如何格式化整个单元格或行的示例,但没有找到单元格内的文本。这是不可能用语法做的吗?
string[] wordList = context.Split(' ');
StringBuilder reassembleContext = new StringBuilder();
int i = 0;
regexPattern = new Regex(pattern.ToString(CultureInfo.InvariantCulture));
foreach (string word in wordList)
{
var matches = Regex.Matches(word, pattern.ToString(), RegexOptions.IgnoreCase);
if (matches.Count > 0)
{
wordList[i] = "<b>" + word + "</b>"; // Clearly this does not work...
}
reassembleContext.Append(wordList[i]);
reassembleContext.Append(" ");
i++;
}
context = reassembleContext.ToString();
答案 0 :(得分:1)
一种方法是将HTML放入剪贴板,然后粘贴它:
System.Windows.Forms.Clipboard.SetText("<html>a<b>b</b>c");
worksheet.Range["A1"].PasteSpecial();
另一种方法是使用单元格的.Characters
属性来设置格式:
worksheet.Range["A1"].Characters[38, 7].Font.Bold = true;