簡體   English   中英

在Excel電子表格單元格內設置文本格式

[英]Formatting text inside the Excel spreadsheet cell

我需要修改的代碼創建了一個Excel電子表格,並將搜索結果插入到單元格中。 邏輯找到匹配項並復制代碼中的整個行。 然后用<comma>代替逗號,不確定為什么,但這並不重要。 我需要在此搜索結果中突出顯示特定的單詞,最好是粗體和紅色。 參見下面的示例,搜索參數是COMPUTE,結果是設計的整行代碼。

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

一種方法是將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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM