The way we put attachments to emails in our workplace is via a DTS job. Granted, the email attachments are actually secondary to the DTS because we're using the DTS job to actually do data transformations. However, if it works for us, it should work for you.
You could put your stored procedure into an Execute SQL task. Then put all your path names for your spreadsheet, etc. into an .ini file that the DTS job grabs before it sends the email out. One thing I should warn you about, though, is that we've had a lot of trouble with xp_SendMail. We've had to switch over to the custom built xp_SMTP_SendMail SQL code that was publically published on the web by Gert E.R. Drapers @ SQLDev.Net. It's the only way we could get our email to consistantly send via SQL.
As far as code goes for getting the date, check out GetDate in Books Online and combine it with DateDiff or DateAdd. That should get you the dates you want.
Hope that helps!
Catadmin