Instead of using mshtml.HTMLTableCell I use mshtml.IHTMLElement and now it works.
code after the fix (see old version in the question):
foreach (mshtml.IHTMLElement cell in row.cells)
{
string text = cell.innerText;
if (text != null && text != "" && text != " ")
{
if (text.Contains("\r\n"))
text = text.Replace("\r\n", "");
temp.Add(text);
}
}