BUG: Fix large floats in Excel losing precision when converted to integer
- [X] [Tests added and passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#writing-tests) if fixing a bug or adding a new feature
- [X] All [code checks passed](https://pandas.pydata.org/pandas-docs/dev/development/contributing_codebase.html#pre-commit).
- [ ] Added an entry in the latest `doc/source/whatsnew/vX.X.X.rst` file if fixing a bug or adding a new feature.

When opening Excel files with large floating point values like `1E50`, Pandas will convert these values to integer, resulting in integers like `100000000000000007629769841091887003294964970946560`. Converting large floating points to integers results in erroneous values. 

This PR only converts floats to integers if they are smaller than `1E22`, which is about the maximum float that can fully represent an integer. If any floats are higher than that cutoff, then they are not converted to integers.


Thanks for the PR @ng-henry !
Is there a related bug report? If not, could you please open one Thanks for the pull request, but given the issue and solution, I think more discussion is needed in a dedicate issue first. Closing this for now, but happy to reopen if other core developers think this is an adequate solution in the issue