I have a user who has an Excel (.xlsx) file that took about 15 seconds
to do a simple calculation. But, there are a bunch of other formulas
and conditional formatting statements in the file.
The file size was "only" 351 KB. There are only 5 worksheets, two of
which didn't appear to be used. I went through the other sheets and
- hidden rows/columns - I found none
- the area of each worksheet that had data and calculations was small
(the most rows on any worksheet was about 130, and the columns didn't
extend past P)
- the formulas and conditional formatting didn't seem like that big
of a deal (I turned off Automatic calculation)
While clicking around one worksheet, I stumbled into a text box, then
another one, then another, and so on. The observations I could make
about the textboxes:
- many of them on the one worksheet had the same name.
- generally, there were 2 to 4 textboxes stacked on top of each
- they were small, about half the size of a cell
- they had no border lines
- I did an F5 and choose "Special" then choose "Objects". After five
minutes, Excel was still working on the command, so I killed Excel and
tried it again, but with the same results.
I created a backup of the file and changed its name to a zip extension
and opened it up in WinZip. I found that it contained a file named
"drawing1.xml" which was 24,790,045 bytes (~ 24 MB!) compressed to
301,152 bytes (~ 301 KB!). I deleted the drawing1.xml file, closed
Winzip and renamed it to the original xlsx extension.
When opening it, an error popped up that read, "Excel found unreadable
content in 'filename.xlsx'. Do you want to recover the contents of
this workbook? If you trust the source of this workbook, click Yes." I
had a Yes/No choice, and selected "Yes". Then a dialog box displayed;
it was titled "Repairs to 'filename.xlsx. It listed "Removed Part:
Drawing shape." Once, opened, I re-saved the workbook. When I close
out of Excel, and re-open the workbook, it seems to open fine.
1. Is there a better way to handle this situation? (I felt I used
brute-force to solve this problem!)
2. Any idea why there would be so many textboxes?
3. Any other thoughts?
Thank you for any assistance.