Java usa poi para importar y exportar Excel (varias formas)

1. Importación y exportación de Excel

1. Exportar a Excel a través de la plantilla de exportación local (adecuada para exportar encabezados más complicados)

Esta es la plantilla que puse localmente. 

El siguiente es el método que exporté

Pongo los datos consultados en una matriz bidimensional y los exporto leyendo los datos de la matriz bidimensional

 

 

Los datos después de exportar son

 

2. Exportar datos a través de Excel a través de POI  

Vaya directamente al código, debe crear una clase de entidad de usuario usted mismo

@Override
    public void downloadFile (solicitud HttpServletRequest, respuesta HttpServletResponse) {         try {             User users = new User ();             users.setId ("1222");             users.setUsername ("张三");             users.setPhone ("1760767162");             users.setAddress ("深圳 塘 朗");             users.setCardno ("4325241995086246");             users.setTitel ("java 删 库 到 跑路");             users.setState ("");                // 获取 数据             List <User> list = new ArrayList <User> ();              list.add (usuarios);

            










               // título de Excel
               String [] title = {"nombre del estudiante", "número de teléfono móvil", "número de identificación", "dirección", "nombre del curso", "estado de pago del curso", "id"};

               // nombre de archivo de Excel
               String fileName = "agent" + users.getUsername () + "tabla de estadísticas de información de inscripción" + System.currentTimeMillis () + ".xls";
               // CellRangeAddress callRangeAddress = new
               // CellRangeAddress (0, 0, 0,6); // fila inicial, fila final, columna inicial, columna final

               // hoja 名
               String sheetName = "招生 信息 统计表 22";
               String [] [] content = new String [list.size ()] [title.length];
               Estado de cadena = "";
               for (int i = 0; i <list.size (); i ++) {                   // content [i] = new String [title.length];                   Usuario usuario = list.get (i);                   if (null! = user.getState ()) {                      state = "已 付费";                   } else {                      estado = "未 付费";                   }                   / *                    * Fecha fecha = obj.getReportDate (); contenido [i] [0] =                    * sDateFormat.format (fecha);





                     





                   * /
                  
                  content [i] [0] = user.getUsername ();
                  content [i] [1] = user.getPhone () + "";
                  content [i] [2] = user.getCardno () + "";
                  contenido [i] [3] = usuario.getAddress () + "";
                  contenido [i] [4] = usuario.getTitel ();
                  contenido [i] [5] = estado;
                  contenido [i] [6] = usuario .getId ();
               }
               // El contenido de la celda fusionada
               String mergeCell = "Agent" + users.getUsername () + "Número total de estudiantes inscritos:" + list.size () + "people";
               Integer cellNum = 5 ;// Fusionar 6 columnas de celdas
               // Crear
               HSSFWorkbook // HSSFWorkbook wb1 = new HSSFWorkbook ();
               HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook (sheetName, título, contenido, nulo, mergeCell, cellNum);
               // Archivo errFile = new File (CoinConfig.RESOURCE_BASIC_PATH + "/"
               // + fileName);
               // 响应 到 客户 端
               try {                   this.setResponseHeader (respuesta, fileName);                   OutputStream os = response.getOutputStream ();                   // OutputStream os = new FileOutputStream (errFile);                   wb.write (os);                   os.flush ();                   os.close ();                } captura (Excepción e) {                   e.printStackTrace ();                }









        
        
        } catch (Exception e) {             log.error ("Descarga fallida", e);         }     }


        

Método de herramienta

public class ExcelUtil {

   / **
     * Exportar Excel
     * @param sheetName nombre de la hoja
     * @param title title
     * @param values ​​content
     * @param wb Objeto HSSFWorkbook
     * @return
     * /
    public static HSSFWorkbook getHSSFWorkbook (String sheetName, String [] title, String [ ] [] valores, HSSFWorkbook wb, String mergeCell, Integer cellNum) {

        // El primer paso es crear un HSSFWorkbook, correspondiente a un archivo de Excel
        if (wb == null) {             wb = new HSSFWorkbook ();         }

        // El segundo paso es agregar una hoja al libro de trabajo, correspondiente a la hoja
        HSSFSheet sheet en el archivo Excel = wb.createSheet (sheetName);

        // El tercer paso es agregar la fila 0 del encabezado a la hoja. Tenga en cuenta que la versión anterior de poi tiene un límite en el número de filas y columnas de Excel.
        HSSFRow row = sheet.createRow (0);

        // El cuarto paso es crear una celda y establecer el encabezado de valor. Establecer el encabezado para que esté centrado.
        HSSFCellStyle style = wb.createCellStyle ();
        style.setAlignment (HSSFCellStyle.ALIGN_CENTER); // Crear un formato centrado

        // Declarar el objeto de columna
        HSSFCell cell = null;
        
        if (StringUtils.isNotEmpty (mergeCell)) {            // Combinar celda             CellRangeAddress callRangeAddress = new CellRangeAddress (0,0,0, cellNum); // Fila de inicio, fila final, inicio Inicio columna, final de la columna             sheet.addMergedRegion (callRangeAddress);             celda = fila.createCell (0);             celda.setCellValue (mergeCell);             celda.setCellStyle (estilo);             fila = hoja.createRow (1);          // HSSFCell celda = nulo;             // Crear título             para (int i = 0; i <title.length; i ++) {                 celda = fila.createCell (i);                 celda.setCellValue (título [i]);












                cell.setCellStyle (estilo);
            }

            // Crear contenido
            para (int i = 0; i <values.length; i ++) {                 row = sheet.createRow (i + 2);                 for (int j = 0; j <valores [i] .length; j ++) {                     // Asignar el contenido al objeto de columna correspondiente en el orden                     row.createCell (j) .setCellValue (valores [i] [j]);                 }             }       } else {          // HSSFCell cell = null;            // Crear título            para (int i = 0; i <title.length; i ++) {                celda = fila.createCell (i);                celda.setCellValue (título [i]);                celda.setCellStyle (estilo);            }







         






           // Crear contenido
           para (int i = 0; i <values.length; i ++) {                row = sheet.createRow (i + 1);                for (int j = 0; j <valores [i] .length; j ++) {                    // Asignar el contenido a los objetos de columna correspondientes en el orden                    row.createCell (j) .setCellValue (valores [i] [j]);                }            }       }         return wb;     } } 3. Puede exportar configurando la plantilla html






         




 

Supongo que te gusta

Origin blog.csdn.net/qq_39008613/article/details/104994921
Recomendado
Clasificación