ExcelView.ClientesExcelView.java Source code

Java tutorial

Introduction

Here is the source code for ExcelView.ClientesExcelView.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package ExcelView;

import MapeoBD.Cliente;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.springframework.web.servlet.view.document.AbstractXlsView;

/**
 *
 * @author Salvador
 */
public class ClientesExcelView extends AbstractXlsView {

    @Override
    protected void buildExcelDocument(Map<String, Object> model, Workbook workbook, HttpServletRequest request,
            HttpServletResponse response) throws Exception {

        response.setHeader("Content-Disposition", "attachment; filename=\"datos Clientes.xls\"");

        Sheet sheet = workbook.createSheet("Datos_Clientes");
        List<Cliente> clientes = (List) model.get("clientes");

        Row header = sheet.createRow(0);
        header.createCell(0).setCellValue("Correo");
        header.createCell(1).setCellValue("Nombre");
        header.createCell(2).setCellValue("Apellido Paterno");
        header.createCell(3).setCellValue("Apellido Materno");
        header.createCell(4).setCellValue("Telefono Local");
        header.createCell(5).setCellValue("Telefono Movil");
        header.createCell(6).setCellValue("Area");
        header.createCell(7).setCellValue("Puesto");
        header.createCell(8).setCellValue("Nombre Empresa");

        int contador = 1;

        for (Cliente cliente : clientes) {

            Row courseRow = sheet.createRow(contador);
            courseRow.createCell(0).setCellValue(cliente.getCorreo());
            courseRow.createCell(1).setCellValue(cliente.getNombre_cliente());
            courseRow.createCell(2).setCellValue(cliente.getApellido_paterno_cliente());
            courseRow.createCell(3).setCellValue(cliente.getApellido_materno_cliente());
            courseRow.createCell(4).setCellValue(cliente.getTelefono_local());
            courseRow.createCell(5).setCellValue(cliente.getTelefono_movil());
            courseRow.createCell(6).setCellValue(cliente.getArea());
            courseRow.createCell(7).setCellValue(cliente.getPuesto());
            courseRow.createCell(8).setCellValue(cliente.getNombre_empresa());

            contador++;

        }
        // Hace que el ancho de la comlumna sea lo suficientemente grande
        // para que la informacin sea desplegada adecuadamente.
        sheet.autoSizeColumn(0);
        sheet.autoSizeColumn(1);
        sheet.autoSizeColumn(2);
        sheet.autoSizeColumn(3);
        sheet.autoSizeColumn(4);
        sheet.autoSizeColumn(5);
        sheet.autoSizeColumn(6);
        sheet.autoSizeColumn(7);
        sheet.autoSizeColumn(8);

    }
}