在c#windows中突出显示excel中的单词

在c#windows中突出显示excel中的单词,c#,windows,excel,highlight,C#,Windows,Excel,Highlight,我使用下面的代码突出显示excel中的特定单词。搜索词位于xml文件中。我把一个单元格中的所有单词都分割成一个字符串,并将它们与搜索词进行比较。因此,如果一个单词是“can”,那么包含can的单元格将高亮显示。但问题是,当这个词是“可以”时,它就会被拆分,而不是突出显示。有办法解决这个问题吗 try { string[] arr = XDocument.Load(xmlSource).Descendants(nodeString) .Select(element => e

我使用下面的代码突出显示excel中的特定单词。搜索词位于xml文件中。我把一个单元格中的所有单词都分割成一个字符串,并将它们与搜索词进行比较。因此,如果一个单词是“can”,那么包含can的单元格将高亮显示。但问题是,当这个词是“可以”时,它就会被拆分,而不是突出显示。有办法解决这个问题吗

try
{
    string[] arr = XDocument.Load(xmlSource).Descendants(nodeString)
     .Select(element => element.Value).ToArray();

    string str;
    int rCnt = 0;
    int cCnt = 0;
    for (int x = 1; x <= count; x++)
    {
        Excel.Worksheet xlWorkSheet4;
        Excel.Range range;
        xlWorkSheet4 = (Excel.Worksheet)doc2.Worksheets.get_Item(x);
        Excel.Range last3 = xlWorkSheet4.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell, Type.Missing);
        range = xlWorkSheet4.get_Range("A1", last3);
        for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
        {
            for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
            {
                if (range.Cells[rCnt, cCnt].Value2 is string)
                {
                    str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
                    if (str == null)
                    {
                        Console.WriteLine("null");
                    }
                    else
                    {
                        str.Replace("\\", "");
                        string[] words = str.Split(' ');
                        foreach (string arrs in arr)
                        {
                            foreach (string word in words)
                            {
                                if (word == arrs)
                                {

                                    var cell = (range.Cells[rCnt, cCnt] as Excel.Range);

                                    cell.Font.Bold = 1;
                                    cell.Font.Color = System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.Red);
                                }
                            }
                        }
                    }
                }
                else
                {
                    Console.WriteLine("not string");
                }
            }
        }
    }
试试看
{
字符串[]arr=XDocument.Load(xmlSource).substands(nodeString)
.Select(element=>element.Value).ToArray();
字符串str;
int rCnt=0;
int-cCnt=0;

for(int x=1;x
for(rCnt=1;rCnt你能做一些格式化吗?也许你要找的实际答案只是在比较部分?word.Contains(arrs)?@Kyle…我能:)就在这里…可读性即使这不起作用。如果字符串是“my name is”,搜索词是“me”,那么我的na“me”就是越来越突出了。但我想搜索尤金的全貌。成功了。谢谢
     for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
          {
             for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
                 {
                    if (range.Cells[rCnt, cCnt].Value2 is string)
                       {
                          str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
                          if (str == null)
                          {
                            Console.WriteLine("null");
                          }
                          else
                          {
                            // str.Replace("\\", "");
                            //  string[] words = str.Split(' ');
                            foreach (string arrs in arr)
                            {
                               if (str.Contains(arrs))
                               {
                                 //foreach (string word in words)
                                 //{
                                 //    if (word == arrs)
                                 //    {
                                 var cell = (range.Cells[rCnt, cCnt] as Excel.Range);
                                 cell.Font.Bold = 1;
                                 cell.Font.Color= System.Drawing.ColorTranslator
                                                  .ToOle(System.Drawing.Color.Red);

                                       }

                               }
                           //  }
                             //}
                     }
 }