BUG: file leak in read_excel
I _think_ this 
closes #30031
closes #29514 
 we'll probably want to wait a few days to make it official.

To make the new test decorator useful in the CI we'll need to add psutil to the environment (unless someone knows of a stdlib way of doing the same check?)

One more note, the check in check_no_file_leaks depends on `__del__` having been called, which in turn depends on the gc.  I'm not sure, but that might induce another layer of flakiness.  If so, I think that can be fixed by calling `gc.collect()` before doing the `flist == flist2` check