Top Description Fields Constructors Methods
org.springframework.web.servlet.view.document

public abstract Class AbstractXlsView

extends AbstractView
Class Inheritance
Known Direct Subclasses
org.springframework.web.servlet.view.document.AbstractXlsxView
Imports
java.io.IOException, java.util.Map, jakarta.servlet.ServletOutputStream, jakarta.servlet.http.HttpServletRequest, .HttpServletResponse, org.apache.poi.hssf.usermodel.HSSFWorkbook, org.apache.poi.ss.usermodel.Workbook, org.springframework.web.servlet.view.AbstractView

Convenient superclass for Excel document views in traditional XLS format. Compatible with Apache POI 3.5 and higher.

For working with the workbook in the subclass, see Apache's POI site

Author
Juergen Hoeller
Since
4.2

Field Summary

Inherited from org.springframework.web.servlet.view.AbstractView:
DEFAULT_CONTENT_TYPE

Constructor Summary

AccessConstructor and Description
public
AbstractXlsView()

Default Constructor.

Method Summary

Modifier and TypeMethod and Description
protected abstract void
buildExcelDocument(Map<String, Object>
the model Map
model
,
Workbook
the Excel workbook to populate
workbook
,
HttpServletRequest
in case we need locale etc. Shouldn't look at attributes.
request
,
HttpServletResponse
in case we need to set cookies. Shouldn't write to it.
response
)

Application-provided subclasses must implement this method to populate the Excel workbook document, given the model.

protected Workbook

Returns:

the new Workbook instance
createWorkbook
(Map<String, Object>
the model Map
model
,
HttpServletRequest
current HTTP request (for taking the URL or headers into account)
request
)

Template method for creating the POI Workbook instance.

protected boolean
generatesDownloadContent()

Overrides org.springframework.web.servlet.view.AbstractView.generatesDownloadContent.

Return whether this view generates download content (typically binary content like PDF or Excel files).

protected final void
renderMergedOutputModel(Map<String, Object>
combined output Map (never null), with dynamic values taking precedence over static attributes
model
,
HttpServletRequest
current HTTP request
request
,
HttpServletResponse
current HTTP response
response
)

Implements abstract org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

Renders the Excel view, given the specified model.

protected void
renderWorkbook(Workbook
the POI Workbook to render
workbook
,
HttpServletResponse
current HTTP response
response
)

The actual render step: taking the POI Workbook and rendering it to the given response.

Inherited from org.springframework.web.servlet.view.AbstractView:
addStaticAttributecreateMergedOutputModelcreateRequestContextcreateTemporaryOutputStreamexposeModelAsRequestAttributesformatViewNamegetAttributesMapgetBeanNamegetContentTypegetRequestContextAttributegetRequestToExposegetStaticAttributesisExposePathVariablesprepareResponserendersetAttributessetAttributesCSVsetAttributesMapsetBeanNamesetContentTypesetExposeContextBeansAsAttributessetExposedContextBeanNamessetExposePathVariablessetRequestContextAttributesetResponseContentTypetoStringwriteToResponse

Constructor Detail

AbstractXlsViewback to summary
public AbstractXlsView()

Default Constructor. Sets the content type of the view to "application/vnd.ms-excel".

Method Detail

buildExcelDocumentback to summary
protected abstract void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest request, HttpServletResponse response) throws Exception

Application-provided subclasses must implement this method to populate the Excel workbook document, given the model.

Parameters
model:Map<String, Object>

the model Map

workbook:Workbook

the Excel workbook to populate

request:HttpServletRequest

in case we need locale etc. Shouldn't look at attributes.

response:HttpServletResponse

in case we need to set cookies. Shouldn't write to it.

createWorkbookback to summary
protected Workbook createWorkbook(Map<String, Object> model, HttpServletRequest request)

Template method for creating the POI Workbook instance.

The default implementation creates a traditional HSSFWorkbook. Spring-provided subclasses are overriding this for the OOXML-based variants; custom subclasses may override this for reading a workbook from a file.

Parameters
model:Map<String, Object>

the model Map

request:HttpServletRequest

current HTTP request (for taking the URL or headers into account)

Returns:Workbook

the new Workbook instance

generatesDownloadContentback to summary
protected boolean generatesDownloadContent()

Overrides org.springframework.web.servlet.view.AbstractView.generatesDownloadContent.

Doc from org.springframework.web.servlet.view.AbstractView.generatesDownloadContent.

Return whether this view generates download content (typically binary content like PDF or Excel files).

The default implementation returns false. Subclasses are encouraged to return true here if they know that they are generating download content that requires temporary caching on the client side, typically via the response OutputStream.

Annotations
@Override
renderMergedOutputModelback to summary
protected final void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception

Implements abstract org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

Renders the Excel view, given the specified model.

Parameters
model:Map<String, Object>

Doc from org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

combined output Map (never null), with dynamic values taking precedence over static attributes

request:HttpServletRequest

Doc from org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

current HTTP request

response:HttpServletResponse

Doc from org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

current HTTP response

Annotations
@Override
Exceptions
Exception:

Doc from org.springframework.web.servlet.view.AbstractView.renderMergedOutputModel.

if rendering failed

renderWorkbookback to summary
protected void renderWorkbook(Workbook workbook, HttpServletResponse response) throws IOException

The actual render step: taking the POI Workbook and rendering it to the given response.

Parameters
workbook:Workbook

the POI Workbook to render

response:HttpServletResponse

current HTTP response

Exceptions
IOException:
when thrown by I/O methods that we're delegating to