[英]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.