logica.Excel.java Source code

Java tutorial

Introduction

Here is the source code for logica.Excel.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 logica;

import bd.Conexion;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import java.io.PrintWriter;
import java.sql.Date;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;

/**
 *
 * @author usuario
 */
@WebServlet(name = "Excel", urlPatterns = { "/Excel" })
public class Excel extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException, SQLException {
        String reporte = request.getParameter("reporte");
        System.out.println(reporte + "----------------------------------------------");
        if (reporte.equals("repo1")) {
            String rutaArchivo = System.getProperty("user.home") + "/usuarios.xls";
            Conexion conectar = new Conexion();
            conectar.conectar();
            ResultSet rs;
            rs = conectar.consulta("select * from usuario;");

            System.out.println(rutaArchivo);
            File archivoXLS = new File(rutaArchivo);
            if (archivoXLS.exists())
                archivoXLS.delete();
            archivoXLS.createNewFile();
            Workbook libro = new HSSFWorkbook();
            try (FileOutputStream archivo = new FileOutputStream(archivoXLS)) {
                Sheet hoja = (Sheet) libro.createSheet("Mi hoja de trabajo");
                int f = 1;
                Row fila2 = hoja.createRow(0);
                Cell celda2 = fila2.createCell(0);
                Cell celda3 = fila2.createCell(1);
                Cell celda4 = fila2.createCell(2);
                Cell celda5 = fila2.createCell(3);
                Cell celda6 = fila2.createCell(4);
                celda2.setCellValue("IdUsuario");
                celda3.setCellValue("email");
                celda4.setCellValue("estado");
                celda5.setCellValue("fecha de registro");
                celda6.setCellValue("contrasea");
                while (rs.next()) {
                    Row fila = hoja.createRow(f);
                    for (int c = 0; c < 5; c++) {
                        Cell celda = fila.createCell(c);
                        if (c == 0) {
                            celda.setCellValue(rs.getInt("IdUsuario"));
                        }
                        if (c == 1) {
                            celda.setCellValue(rs.getString("email"));
                        }
                        if (c == 2) {
                            celda.setCellValue(rs.getString("estado"));
                        }
                        if (c == 3) {
                            celda.setCellValue(rs.getString("fecha_registro"));
                        }
                        if (c == 4) {
                            celda.setCellValue(rs.getString("contra"));
                        }
                    }
                    f++;
                }
                libro.write(archivo);
            }
            response.sendRedirect("Excel.jsp?r=Ve_a_ver_las_consultas_en_excel");
        }
        if (reporte.equals("repo2")) {

            String rutaArchivo = System.getProperty("user.home") + "/peliseries.xls";
            Conexion conectar = new Conexion();
            conectar.conectar();
            ResultSet rs;
            rs = conectar.consulta(
                    "select idPeli_serie, valoracion, nombre, fecha_registro, estado, anio, descripcion from peli_serie;");

            System.out.println(rutaArchivo);
            File archivoXLS = new File(rutaArchivo);
            if (archivoXLS.exists())
                archivoXLS.delete();
            archivoXLS.createNewFile();
            Workbook libro = new HSSFWorkbook();
            try (FileOutputStream archivo = new FileOutputStream(archivoXLS)) {
                Sheet hoja = (Sheet) libro.createSheet("Mi hoja de trabajo");
                int f = 1;
                Row fila2 = hoja.createRow(0);
                Cell celda2 = fila2.createCell(0);
                Cell celda3 = fila2.createCell(1);
                Cell celda4 = fila2.createCell(2);
                Cell celda5 = fila2.createCell(3);
                Cell celda6 = fila2.createCell(4);
                Cell celda7 = fila2.createCell(5);
                Cell celda8 = fila2.createCell(6);
                celda2.setCellValue("IdPeli_serie");
                celda3.setCellValue("valoracion");
                celda4.setCellValue("nombre");
                celda5.setCellValue("fecha de registro");
                celda6.setCellValue("estado");
                celda7.setCellValue("anio");
                celda8.setCellValue("descripcion");

                while (rs.next()) {
                    Row fila = hoja.createRow(f);
                    for (int c = 0; c < 7; c++) {
                        Cell celda = fila.createCell(c);
                        if (c == 0) {
                            celda.setCellValue(rs.getInt("IdPeli_serie"));
                        }
                        if (c == 1) {
                            celda.setCellValue(rs.getString("valoracion"));
                        }
                        if (c == 2) {
                            celda.setCellValue(rs.getString("nombre"));
                        }
                        if (c == 3) {
                            celda.setCellValue(rs.getString("fecha_registro"));
                        }
                        if (c == 4) {
                            celda.setCellValue(rs.getString("estado"));
                        }
                        if (c == 5) {
                            celda.setCellValue(rs.getString("anio"));
                        }
                        if (c == 6) {
                            celda.setCellValue(rs.getString("descripcion"));
                        }
                    }
                    f++;
                }
                libro.write(archivo);
            }
            response.sendRedirect("Excel.jsp?r=Ve_a_ver_las_consultas_en_excel");
        }
        if (reporte.equals("repo3")) {

            String rutaArchivo = System.getProperty("user.home") + "/usuarios_y_planes.xls";
            Conexion conectar = new Conexion();
            conectar.conectar();
            ResultSet rs;
            rs = conectar.consulta(
                    "select idUsuario, email, usuario.fecha_registro, contra, plan.metodo_pago, plan.costo, plan.max_dispo from usuario,cliente,plan where idUsuario=Usuario_idUsuario and idPlan=Plan_idPlan;");

            System.out.println(rutaArchivo);
            File archivoXLS = new File(rutaArchivo);
            if (archivoXLS.exists())
                archivoXLS.delete();
            archivoXLS.createNewFile();
            Workbook libro = new HSSFWorkbook();
            try (FileOutputStream archivo = new FileOutputStream(archivoXLS)) {
                Sheet hoja = (Sheet) libro.createSheet("Mi hoja de trabajo");
                int f = 1;
                Row fila2 = hoja.createRow(0);
                Cell celda2 = fila2.createCell(0);
                Cell celda3 = fila2.createCell(1);
                Cell celda4 = fila2.createCell(2);
                Cell celda5 = fila2.createCell(3);
                Cell celda6 = fila2.createCell(4);
                Cell celda7 = fila2.createCell(5);
                Cell celda8 = fila2.createCell(6);
                celda2.setCellValue("IdUsuario");
                celda3.setCellValue("email");
                celda4.setCellValue("fecha de registro");
                celda5.setCellValue("contrasea");
                celda6.setCellValue("metodo de pago");
                celda7.setCellValue("costo");
                celda8.setCellValue("mximo # de dispositivos");

                while (rs.next()) {
                    Row fila = hoja.createRow(f);
                    for (int c = 0; c < 7; c++) {
                        Cell celda = fila.createCell(c);
                        if (c == 0) {
                            celda.setCellValue(rs.getInt("usuario.IdUsuario"));
                        }
                        if (c == 1) {
                            celda.setCellValue(rs.getString("usuario.email"));
                        }
                        if (c == 2) {
                            celda.setCellValue(rs.getString("usuario.fecha_registro"));
                        }
                        if (c == 3) {
                            celda.setCellValue(rs.getString("usuario.contra"));
                        }
                        if (c == 4) {
                            celda.setCellValue(rs.getString("plan.metodo_pago"));
                        }
                        if (c == 5) {
                            celda.setCellValue(rs.getString("plan.costo"));
                        }
                        if (c == 6) {
                            celda.setCellValue(rs.getString("plan.max_dispo"));
                        }
                    }
                    f++;
                }
                libro.write(archivo);
            }
            response.sendRedirect("Excel.jsp?r=Ve_a_ver_las_consultas_en_excel");
        }

        if (reporte.equals("repo4")) {
            response.sendRedirect("index.html?r= ");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(Excel.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        try {
            processRequest(request, response);
        } catch (SQLException ex) {
            Logger.getLogger(Excel.class.getName()).log(Level.SEVERE, null, ex);
        }
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}