One technique I've seen is to control the report depending on the render format. I *think* when you include the report in the body of an email subscription that it's actually an HTML render format, as opposed to the Excel format you are attaching.
I've seen a report that did something like this, using two different tablixes. The first only appears when you render on screen, the second only appears when you export to Excel. The point of that was to have a very simple formatting for Excel and a fancier format on screen.
I can't find the details of that report but this link below will start you off on how it's done.
If you look in the report server[ExecutionLog] table you can get some idea of the different render formats. The ones I see are
RPL
EXCEL
MHTML
CSV
HTML4.0
ATOM
IMAGE
WORD
XML
It's also possible to create your own render extensions but I think that involves loading dll's so I don't really know much about that. From what I understand, RPL is the onscreen rendering format.
http://www.mssqltips.com/sqlservertip/2106/conditional-report-rendering-based-on-render-formats-for-ssrs-reports/[/url]
EDIT:
This is a better link and confirms the various formats and how you can use them in HIDDEN expressions