I had the same problem. I arrived at the solution while browsing this blog :
http://shawpnendu.blogspot.in/2009_03_01_archive.html
in the section - "Export to Excel with proper formatting:"
I modified my code as follows:
string brstyle = @"br { mso-data-placement:same-cell; }";
Response.Write(brstyle);
Response.Write(stringWriter.ToString());
It worked for me. Note that you have to retain the <br /> tag in the text.
Now the text with linebreaks is appearing in single cells rather than in new cell (row) for each linebreak.
Hope this helps.