格式化Excel电子表格单元格中的文本

我需要修改的代码创build一个Excel电子表格,并在单元格中插入search结果。 逻辑find匹配并复制代码中的整个行。 然后用逗号replace逗号,不知道为什么,但这不重要。 我需要突出显示search结果中的特定单词,最好是粗体和红色。 查看下面的例子,search参数是COMPUTE,结果是整行代码,这是devise的。

)WITH(PAD_INDEX = OFF STATISTICS_NORE COMPUTE = OFF IGNORE_DUP_KEY = OFF ALLOW_ROW_LOCKS = ON

我有一些基本的代码将一个“上下文”variables分割成一个string数组,如果find匹配的话就应该格式化这个词 – 然而这是我的挑战所在。

我发现了很多关于如何格式化整个单元格或行的例子,而不是单元格中的文本。 这是不可能的语法?

  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(); 

  1. 简单的方法是将HTML放入剪贴板,然后粘贴:

     System.Windows.Forms.Clipboard.SetText("<html>a<b>b</b>c"); worksheet.Range["A1"].PasteSpecial(); 
  2. 通常的方法是使用单元格的.Characters属性来设置格式:

     worksheet.Range["A1"].Characters[38, 7].Font.Bold = true; 
  3. 另一种方法是使用Excel的replace格式:

     application.ReplaceFormat.Font.Bold = true; range.Replace("COMPUTE", "COMPUTE", XlLookAt.xlPart, ReplaceFormat: true);