JSF is designed to process and display HTML. Excel is a proprietary non-HTML format, so JSF is not a good rendering engine for it. Instead, put the Excel output code in a standard (non-JSF) servlet. You can then put the servlet's URL on a JSF page using an h:outputLink or similar connector.
An IDE is no substitute for an Intelligent Developer.