1. Introducción
Los informes a menudo están involucrados en el desarrollo web de Java. En proyectos recientes, necesitamos mostrar los datos en la base de datos como una tabla y exportarlos como un archivo de Excel.
2. Paquetes de frasco relacionados
El uso de POI puede resolver los problemas de importación de Excel y exportar bien. Dirección de descarga de POI:
Poi-3.6-20091214.Jar
3. Código clave
Primero importe el paquete jar anterior.
Al generar Excel, el formulario de fuente de datos general es una lista. El siguiente es el código que genera formato de Excel:
/ *** La siguiente es la generación de operación de Excel*/ // 1. Cree un libro de trabajo, correspondiente a un archivo de Excel, hssfworkbook wb = new hssfworkbook (); // 2. Agregue una hoja en el libro de trabajo, correspondiente a una hoja en la hoja de Excel hssfsheet = wb.createSheet ("tabla xxx"); // 3. Agregue la fila 0 del encabezado de la tabla en la hoja. La versión anterior POI tiene un límite en el número de filas de Excel Short Hssfrow Row = Sheet.Createrow ((int) 0); // 4. Cree una celda, establezca el encabezado de la tabla de valor y configure el encabezado de la tabla en el centro HSSFCellStyle Style = WB.CreateCellStyle (); // Formato de centrado estilo.setalignment (hssfcellstyle.align_center); // Establecer el encabezado de la tabla HSSFCell Cell = Row.CreateCell (0); Cell.SetCellValue ("Encabezado de tabla1"); Cell.SetCellStyle (estilo); celular = fila.createCell (1); Cell.SetCellValue ("Encabezado de tabla2"); Cell.SetCellStyle (estilo); celda = fila.createCell (2); Cell.SetCellValue ("Encabezado de tabla3"); Cell.SetCellStyle (estilo); celular = fila.createCell (3); Cell.SetCellValue ("Encabezado de tabla 4"); Cell.SetCellStyle (estilo); celular = fila.createCell (4); Cell.SetCellValue ("Encabezado de tabla 5"); Cell.SetCellStyle (estilo);Después de generar el formato de Excel, debe escribir los datos en Excel:
// bucle para escribir datos en Excel para (int i = 0; i <lists.size (); i ++) {row = shead.creatrow ((int) i+1); List list = lists.get (i); // Crear una celda y establecer el valor Row.CreateCell (0) .SetCellValue (list.getxxx ()); Row.CreateCell (1) .SetCellValue (list.getxxx ()); Row.CreateCell (2) .SetCellValue (list.getxxxx ()); Row.CreateCell (3) .SetCellValue (list.getxxxx ()); Row.CreateCell (3) .SetCellValue (list.getxxxx ()); Row.CreateCell (4) .SetCellValue (list.getxxx ()); } El Excel resultante se emitirá como flujo.
*No aparece la caja de descarga
FileOutputStream out = new FileOutputStream ("E: /xxx.xls"); wb.write (out); out.close ();*Papt en la caja de descarga
Cadena filename = "xxx table"; ByteArRayOutputStream OS = new ByTearRaReOutputStream (); wb.write (OS); byte [] content = os.tobytearray (); InputStream es = new ByteArrayInputStream (contenido); // Establecer el parámetro de respuesta para abrir la página de descarga res.reset (); res.setContentType ("Application/Vnd.Ms-Excel; Charset = UTF-8"); res.setheader ("Disposición de contenido", "Adjunto; FileName =" + New String ((FileName + ".xls"). GetBytes (), "ISO-8859-1"); ServLetOutputStream out = res.getOutputStream (); BufferedinputStream bis = null; BufferedOutputStream bos = null; intente {bis = new BufferedInputStream (is); bos = new BufferedOutputStream (Out); byte [] buff = new Byte [2048]; int bytesread; // bucle de lectura/escritura simple. while (-1! = (bytesread = bis.read (buff, 0, buff.length))) {bos.write (buff, 0, bytesread); }} Catch (Exception e) {// tODO: manejar excepción E.PrintStackTrace (); } finalmente {if (bis! = null) bis.close (); if (bos! = null) bos.close (); } Después de completar las operaciones anteriores, puede saltar a otras páginas.
Al mismo tiempo, POI también puede mostrar la carga y análisis de Excel en la página web. ¡Estén atentos para este otro resumen del artículo!
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.