Although I am in the "crunch" this semester, due to being very busy for 12 weeks with the Celta (and somewhat neglecting my uni classes), I usually try to avoid it. Here's how:
1. Make your spreadsheets at the beginning of the semester (I assume everyone does this?!). Although it does take a bit of time (for me, about 1 hour for 8 or 9 classes), I think it saves considerable time at the end.
2. Input your attendance/grades as you go along. Not only does this make sense if you might happen to lose your folder with all that stuff on it (never happened to me thankfully, but you never know), you'll be way ahead of the game come end of the semester. I'd rather do 15-20 minutes a week instead of a marathon at the end.
3. Don't assign homework that is due for the last 2 or 3 weeks. Not only are the students horrendously busy with other things for other classes, it can be quite stressful for you to get everything graded in time. I made the last assignment for Internet homework due 2 weeks before the semester ended, so I had plenty of time to check their grades, and put them in the spreadsheets.
4. I give students a study paper with potential exam questions on it. I make an effort to input a question or two each week, based on the unit that we've just studied. That way, I just have to quickly review it for any errors and then print it off towards the end of the semester.