Bulk Conversion in the LingTools extension is designed for this purpose. It finds all hard formatting (or styles if that’s what you request) by unzipping the .odt. Then it provides options for converting each font to a style. However it is not well tested. If you find an example where it does not work then I would appreciate any feedback.
Data Conversion in that same extension can do similar things without unzipping. It won’t give a list of all the hard formatting, but it does allow conversion into styles to clean up hard formatting. It is also much better tested.
Both of these tools are for word processing formats only, not spreadsheets. The Bulk Converter handles .docx for example by automating Writer to convert to .odt first.
Developer’s note for @Lupp: The reason unzipping is needed is because there is no reliable way of using the API to get all of this information precisely, at least not for word processing documents. Formatting can get messy in the underlying XML, and Writer obscures those details. The API is focused on how to render the document, not how it is constructed.
Hopefully this isn’t considered a spam answer, as I do have a personal interest in this extension.