These steps are especially useful if you're receiving the "too many formats" error. The row and column letters given are valid for Excel 97 and 2000, but the procedure should work fine in Excel 5 and 7.
For each sheet in the workbook:
1. Go to the first column to the right that is not being used. Click on the column letter. Hit Shift-Ctrl-Right arrow and keep hitting the right arrow until you have selected all the way to column IV. Hit Edit-Clear-All.
2. Go to the first row at the bottom that is not being used. Click on the row letter. Hit Shift-Ctrl-Down arrow and keep hitting the down arrow until you have selected all the way down to row 65,536. Hit Edit-Clear-All. Save the file.
3. Select all the columns (rows) that are dates. To do so, hold the Ctrl key down while selecting the columns. Once they're all selected, go to Format-Cells and choose the format. Select all the columns (rows) that are currency, numbers, etc., and format them by first selecting as many cells/columns/rows as possible before formatting. Formatting in "blocks" can greatly reduce the file size. After many years of use, a file can have an individual format in many cells. The more cells you can format all at once, the less number of formats in the file. This helps to reduce file size.
4. Corruption is often stored in the workbook itself (I look at it as being a container for the worksheets). Copying the worksheets into a new workbook can get rid of file corruption, so I like to think it might be considered preventive to do so in this case as well.