Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/09/2004, 09:51
Avatar de ko^ke
ko^ke
 
Fecha de Ingreso: septiembre-2001
Ubicación: México D.F.
Mensajes: 364
Antigüedad: 22 años, 8 meses
Puntos: 1
como lo hice? query a excell via java (poi)

Software utilizado:
S.O. Win Xp
Apache Tomcat
Mysql
POI
Drinkweaver

Con este tema inauguro lo que he llamado como lo hice?, pienso compartir mis "descubrimientos" con java y compatirlos con ustedes.

Esta vez se trata de una jsp que hace un query a mysql y te crea un archivo en excel con el resultado del query .


Código PHP:
<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>
<%@ include 
file="Connections/conn.jsp" %>
<%@ 
page import="java.lang.*" %>
<%@ 
page import="javax.mail.*" %>
<%@ 
page import="java.io.*"%>
<%@ 
page import="javax.servlet.http.HttpServletRequest"%>
<%@ 
page import="javax.servlet.http.*"%>
<%@ 
page import="java.io.FileOutputStream"%>
<%@ 
page import="java.io.IOException"%>
<%@ 
page import="java.io.InputStream"%>
<%@ 
page import="org.apache.poi.poifs.filesystem.POIFSFileSystem"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFCell"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFSheet"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFWorkbook"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFRow"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFCellStyle"%>
<%@ 
page import="org.apache.poi.hssf.usermodel.HSSFFont"%>
<%@ 
page import="java.sql.*"%>


<%
    try {
     
        
//Creamos el archivo de excell
         
HSSFWorkbook wb = new HSSFWorkbook();
        
FileOutputStream fileOut = new FileOutputStream("C:\\tomcat5\\jakarta-tomcat-5.0.27\\webapps\\ROOT\\sms\\workbook.xls");
        
HSSFSheet sheet1 wb.createSheet("cotizador");
    
        
//Creamos el Resulset
        
Driver DriverrsCount = (Driver)Class.forName(MM_conn_DRIVER).newInstance();
        
Connection ConnrsCount DriverManager.getConnection(MM_conn_STRING,MM_conn_USERNAME,MM_conn_PASSWORD);
        
PreparedStatement StatementrsCount ConnrsCount.prepareStatement("SELECT * FROM sms_facturacion.users ");
        
ResultSet rsCount StatementrsCount.executeQuery();
        
    
        
// Creamos el Estilo del Font a Utilizar en el nombre de las columnas
                
HSSFFont font wb.createFont();
                
font.setFontHeightInPoints((short)10);
                
font.setFontName("Arial");
                
//font.setItalic(true);
                //font.setStrikeout(true);
                
font.setBoldweight(HSSFFont.BOLDWEIGHT_BOLD);
                
                
HSSFCellStyle style wb.createCellStyle();
                
style.setFont(font);

        
//Creamos el Metadata del Resulset
        
ResultSetMetaData rsmd rsCount.getMetaData();
                
int numberOfColumns rsmd.getColumnCount();

        
//Obtenemos el nombre de las columnas        
                
for (int m=1m<numberOfColumnsm++){
                
                
                
HSSFRow row0 sheet1.createRow((short)0); //crea el renglon
                
HSSFCell cell0 row0.createCell((short)m); //crea la celda tipo
                
String columname rsmd.getColumnName(m); //obtenemos el nombre de la columna del resulset
                
row0.createCell((short)m); // crea las celdas de acuerdo al numero de columnas
                
cell0.setCellValue(columname); //vacia el nombre de las columnas en la hoja de excell
                
cell0.setCellStyle(style); // Asigna el estilo del nombre de las columnas
        
                
}
                    
        
//Vaciamos el resulset al archivo de excell    
            
int i=0;
            while (
rsCount.next()) //mientras tenga algo el resulset
            
{
                
i++; // vairable i se inicia con valor 1 porque el resultset inicia con valor 1 de las columnas
                
HSSFRow row sheet1.createRow((short)i); //crea el renglon
                
HSSFCell cell row.createCell((short)1); //crea la celda tipo
                
for (int q=1q<numberOfColumnsq++) 
                {
                  
row.createCell((short)q).setCellValue(rsCount.getString(q)); //vacia el resulset en la hoja de excell
                
}
                
            }    
    
// Cerramos el archivo de excell
    
wb.write(fileOut);
    
fileOut.close();
// Cerramos el Resulset      
    
rsCount.close();
    
StatementrsCount.close();
    
ConnrsCount.close();   
    } catch ( 
IOException ex ) {
            
ex.printStackTrace();
      
   } 
%>


<!
DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<
html>
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
title>::Hoja de calculo::</title>
</
head>

<
body>
Hoja de calculo creada con exito 
__________________
Aquí va la firma...

Última edición por ko^ke; 11/10/2004 a las 12:24