Prefacio
Creo que muchos amigos exportarán datos a los requisitos de Excel en el trabajo real. Por lo general, hay dos formas de hacer esto.
Primero, use JXL para generar Excel, luego guárdelo en el servidor y luego descargue el archivo después de generar la página.
El segundo es usar POI para generar Excel, y luego usar la transmisión para emitirla a la recepción para descargarlo directamente (PD: Por supuesto, también se puede generar en el servidor y luego descargarlo). Aquí discutimos el segundo tipo.
Struts2's Way
Por lo general, ponía el libro HSSFWork ya generado en un InputStream y luego iría al archivo de configuración XML para cambiar el resultado de retorno a la transmisión. como sigue:
Private void ResponseData (HSSFWorkBook WB) lanza IOException {byteArRayOutputStream Baos = new ByteArRayOutputStream (); wb.write (baos); baos.flush (); byte [] aa = baos.tobytearray (); ExcelStream = new ByteArrayInputStream (aa, 0, aa.length); baos.close ();}Archivo de configuración:
<Action name = "exportxxx" métode = "exportxxx"> <resultado name = "exportSuccess" type = "stream"> <param name = "inputName"> ExcelStream </param> <param name = "contentType"> Application/vnd.ms-Excele </param> <Param name = "ContentDisPosition> apagado; Filename =" y "sinfinido.
Esto logrará el propósito de hacer clic en el enlace para descargar el archivo directamente.
SpringMVC Way
Publique el código primero:
@RequestMapping ("/exportxxx.action") public void exportxxx (httpservletRequest Soly, httpServletResponse respuesta, @RequestParam (valor = "faseID", defaultvalue = "0") int faseid) {HSSFWorkBook WB = CreateExcel (FutSocySid); Pruebe {Response.setheader ("Contenido-Dispositivo", "Adjunto; FileName = NiceUser.xls"); Response.setContentType ("Aplicación/VND.MS-Excel; Charset = UTF-8"); OutputStream out = Response.getOutputStream (); wb.write (fuera); out.flush (); out.close (); } catch (ioException e) {E.PrintStackTrace (); }} De hecho, SpringMVC y Struts2 son los mismos en principio, pero Struts2 es la forma de configurar el archivo. Primero, use el método createExcel() para generar Excel y devolverlo. Finalmente, use response a la salida Excel al primer plano. Este método es general, y también puede probarlo con Servlet、Struts2 , etc. Solo necesitamos establecer la información de salida correspondiente en response .
Resumir
Ya sea que use Struts2 o SpringMVC, se usa básicamente la respuesta, por lo que siempre que comprendamos la respuesta a fondo, ya sea descargando imágenes, mundo, Excel u otros archivos, es lo mismo.
Dirección de Github: https://github.com/crossoverjie
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.