BUG: Convert output type in Excel for MultiIndex with period levels
- [x] closes #60099
- [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).
- [x] Added an entry in the latest `doc/source/whatsnew/v3.0.0.rst` file if fixing a bug or adding a new feature.

> Looking good - can you also add one test in `excel/test_writers.py` for round-tripping (writes a DataFrame to an excel file, reads it, and asserts its the same as the original DataFrame).

My test case gets called 8 times, 6 times the dtype of result is 'datetime64[us]', and the other two times is 'datetime64[s]'. I don't know why this is happening. I had to do unit conversions for result.
 > > Looking good - can you also add one test in `excel/test_writers.py` for round-tripping (writes a DataFrame to an excel file, reads it, and asserts its the same as the original DataFrame).
> 
> My test case gets called 8 times, 6 times the dtype of result is 'datetime64[us]', and the other two times is 'datetime64[s]'. I don't know why this is happening. I had to do unit conversions for result.

I've found that the dtype of `result` depends on the suffix of `tmp_excel`, only in the case of `.ods` the dtype is `datetime64[s]` and in other cases it is `datetime64[us]`. The latest PR has been completed by changing the `expected` to match `result`, please check it out. Thanks a lot!!! And maybe it can be a new issue to unify the units of `datetime` in different tmp_excel formats. > Can you add a note in the whatsnew for v3.0.0 under the I/O section.

Sure. @rhshadrach I'm sorry for the trouble, but could you please let me know if there is anything else to change? Thank you very much! Thanks @ZKaoChi! Thanks a lot for all your help!