1. Para empezar ponemos un link en la pagina para la llamada del action
<html:link action="CrearArchivoAction" > Excel </html:link>
2. Añadimos la entrada a struts.config
<action name="CrearArchivoAction" path="/CrearArchivoAction" type="com.test.CrearArchivoAction" scope="request" input="/Welcome" />
3. Creamos el DownloadAction
public class CrearArchivoAction extends DownloadAction{
/**
* Method execute
* @param mapping
* @param form
* @param request
* @param response
* @return ActionForward
*/
public StreamInfo getStreamInfo(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
System.out.println("--- CrearArchivoAction ---- ");
String fileName = "sampleName.xls";
String contentType = "application/vnd.ms-excel";
File file = new File(fileName);
try {
WritableWorkbook w = Workbook.createWorkbook(file);
WritableSheet s = w.createSheet("Demo", 0);
s.addCell(new Label(0, 0, "Hello World"));
w.write();
w.close();
} catch (Exception e) {
System.err.println("Ocurrio un error al generar el EXCEL");
e.printStackTrace();
}
System.out.println("--- regresando arhivo --");
return new FileStreamInfo(contentType, file);
}
}
Nota. Para que funcione este ejemplo es necesario tener el jar de jxl.jar
Suerte.

0 comentarios:
Publicar un comentario