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=1; m<numberOfColumns; m++){
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=1; q<numberOfColumns; q++)
{
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