I highly recommend xlrd for reading .xls files. But there are some limitations:
Warning
This library will no longer read anything other than .xls files. For alternatives that read newer file formats.
The following are also not supported but will safely and reliably be ignored:
- Charts, Macros, Pictures, any other embedded object, including embedded worksheets.
- VBA modules
- Formulas, but results of formula calculations are extracted.
- Comments
- Hyperlinks
- Autofilters, advanced filters, pivot tables, conditional formatting, data validation
Password-protected files are not supported and cannot be read by this library.
Voyager highlighted COM automation's application. I can attest from personal experience that it is a huge PITA to accomplish this. There are many caveats, and the documentation is inadequate and unpleasant. I encountered a lot of strange issues and gotchas, some of which took me a long time to figure out.