[url].xls
For work with th workBook in the subclass, see Jakarta's POI site
As an example, you can try this snippet:
protected void buildExcelDocument(
Map model,
HSSFWorkbook wb,
HttpServletRequest request,
HttpServletResponse response )
{
// AModel aModel = ( AModel ) model.get( "amodel" );
HSSFSheet sheet;
HSSFRow sheetRow;
HSSFCell cell;
// Go to the first sheet
// getSheetAt: only if wb is created from an existing document
//sheet = wb.getSheetAt( 0 );
sheet = wb.createSheet("Spring");
sheet.setDefaultColumnWidth((short)12);
// write a text at A1
cell = getCell( sheet, 0, 0 );
setText(cell,"Spring POI test");
// Write the current date at A2
HSSFCellStyle dateStyle = wb.createCellStyle( );
dateStyle.setDataFormat( HSSFDataFormat.getBuiltinFormat( "m/d/yy" ) );
cell = getCell( sheet, 1, 0 );
cell.setCellValue( new Date() );
cell.setCellStyle( dateStyle );
// Write a number at A3
getCell( sheet, 2, 0 ).setCellValue( 458 );
// Write a range of numbers
sheetRow = sheet.createRow( 3 );
for (short i = 0; i<10; i++) {
sheetRow.createCell(i).setCellValue( i*10 );
}
}
Don't forget to add on web.xml:
<servlet-mapping>
<servlet-name>[your Spring servlet]</servlet-name>
<url-pattern>*.xls</url-pattern>
</servlet-mapping>
The use of this view is close to the AbstractPdfView
- Author:
- Jean-Pierre Pawlak
- See Also:
AbstractPdfView
|
Method Summary |
protected abstract void |
buildExcelDocument(java.util.Map model,
org.apache.poi.hssf.usermodel.HSSFWorkbook wb,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Subclasses must implement this method to create an Excel HSSFWorkbook document,
given the model. |
protected org.apache.poi.hssf.usermodel.HSSFCell |
getCell(org.apache.poi.hssf.usermodel.HSSFSheet sheet,
int row,
int col)
Convenient method to obtain the cell in the given sheet, row and column
Creating by the way the row and the cell if they still doesn't exist
Thus, the column can be passed as an int, the method making the needed
downcasts. |
protected org.apache.poi.hssf.usermodel.HSSFWorkbook |
getTemplateSource(java.lang.String url,
javax.servlet.http.HttpServletRequest request)
Creates the workBook from an existing .xls document. |
protected void |
renderMergedOutputModel(java.util.Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
Renders the view given the specified model. |
protected void |
setText(org.apache.poi.hssf.usermodel.HSSFCell cell,
java.lang.String text)
Convenient method to set a String as text content in a cell. |
void |
setUrl(java.lang.String url)
Sets the url. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
AbstractExcelView
public AbstractExcelView()
renderMergedOutputModel
protected final void renderMergedOutputModel(java.util.Map model,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
throws javax.servlet.ServletException,
java.io.IOException
- Renders the view given the specified model.
- Overrides:
renderMergedOutputModel in class AbstractView
- See Also:
AbstractView.renderMergedOutputModel(java.util.Map, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
getTemplateSource
protected org.apache.poi.hssf.usermodel.HSSFWorkbook getTemplateSource(java.lang.String url,
javax.servlet.http.HttpServletRequest request)
throws javax.servlet.ServletException
- Creates the workBook from an existing .xls document.
- Parameters:
url - url of the Excle template without localization part nor extensionrequest - - Returns:
- HSSFWorkbook
buildExcelDocument
protected abstract void buildExcelDocument(java.util.Map model,
org.apache.poi.hssf.usermodel.HSSFWorkbook wb,
javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response)
- Subclasses must implement this method to create an Excel HSSFWorkbook document,
given the model.
- Parameters:
model - wb - The Excel workBook to completerequest - in case we need locale etc. Shouldn't look at attributesresponse - in case we need to set cookies. Shouldn't write to it.
getCell
protected org.apache.poi.hssf.usermodel.HSSFCell getCell(org.apache.poi.hssf.usermodel.HSSFSheet sheet,
int row,
int col)
- Convenient method to obtain the cell in the given sheet, row and column
Creating by the way the row and the cell if they still doesn't exist
Thus, the column can be passed as an int, the method making the needed
downcasts.
- Parameters:
sheet - A sheet Object. The first sheet is usually obtained by wb.getSheetAt(0)row - col - - Returns:
- HSSFCell
setText
protected void setText(org.apache.poi.hssf.usermodel.HSSFCell cell,
java.lang.String text)
- Convenient method to set a String as text content in a cell.
- Parameters:
cell - The cell in which the text must be puttext - The text to put in the cell
setUrl
public void setUrl(java.lang.String url)
- Sets the url.
- Parameters:
url - The Excel workBook source without localization part nor extension
Rod Johnson and Spring contributors 2001-2003.