Если в Spring нужно было выдать сгенерированный excel-файл использовал наследование от AbstractXlsxView.
Например public class SbCCDetailsXlsxReport extends AbstractXlsxView
...тут формируем excel...
Потом в конфиге определяем viewresolver:
@Bean
public ViewResolver getXmlViewResolver() {
XmlViewResolver resolver = new XmlViewResolver();
resolver.setLocation(new ServletContextResource(servletContext, "/WEB-INF/spring/views.xml"));
resolver.setOrder(1);
return resolver;
}
Во views.xml
<bean id="excelViewSbCCDetails" class="somepackage.SbCCDetailsXlsxReport" />
А в контроллере
return new ModelAndView("excelViewSbCCDetails", model);