I do not have enought reputation to post this as a comment but here it goes:
Take a close look at HTML Text with tags to formatted text in an Excel cell There is a solution in VBA that works and it can be translated into c# with a little bit of effort :)
static void Main(string[] args)
{
object misValue = System.Reflection.Missing.Value;
Type excelApplication = Type.GetTypeFromProgID("Excel.Application");
dynamic excel = Activator.CreateInstance(excelApplication);
dynamic xlWorkBook = excel.Workbooks.Add(misValue);
dynamic SourceSheets = xlWorkBook.Worksheets[1];
Type IeType = Type.GetTypeFromProgID("InternetExplorer.Application");
dynamic Ie = Activator.CreateInstance(IeType);
SourceSheets.Range("A1").Value = "<b>This is <i>html text</i></b> that <font>could contain</font> any type of html;<br/>";
Ie.Visible = false;
Ie.Navigate("about:blank");
Ie.document.body.InnerHTML = SourceSheets.Range("A1").Value;
Ie.document.body.createtextrange.execCommand("Copy");
SourceSheets.Paste(SourceSheets.Range("A1"));
Ie.Quit();
xlWorkBook.SaveAs("test1", misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue, misValue);
}
this is really a basic translation. You have to save/dispose your object properly after but it works for what you are trying to do. I just notice while trying the "allow access" of the internet explorer for the copy/paste bin but i am sure there is a work arround for that.