martes, diciembre 13, 2011

CREANDO UN ARCHIVO DE EXCEL CON LA LIBRERIA POI

 la libreria poi es muy util para poder crear archivos de excel de una manera rapida y sensilla, tiene la funcionalidad de poder abrir una plantilla creada anteriormente para poder hacer el trabajo mas sensillo aun.


En este caso solo crearemos un excel muy sensillo.


1.- Necesitamos descargar la libreria poi, de la pagina de apache, en este caso utilizare la version "poi-3.8-beta4-20110826.jar"


2.- Crearemos 2 paquetes "com.excel.poi.ejemplo" y "com.excel.poi.test"


3.- En el primer paquete, crearemos la clase CrearExcel



package com.excel.poi.ejemplo;

import java.io.File;
import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRichTextString;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;

public class CrearExcel {
 
 HSSFWorkbook libro;
 HSSFSheet hoja;
 HSSFRow fila;
 HSSFCell celda;
 HSSFRichTextString texto;
 
/**
*creamos un libro de excel, y sobre ese libro creamos una hoja
*/
 public void configuraLibroHoja(){
  libro = new HSSFWorkbook();
  hoja = libro.createSheet();
 }
 
/**
*creamos una fila y una columna, recordando que las numeraciones empiezan en 0
luego agregamos un texto
*/
 public void agregarTexto( int f , int c , String textoEscribir){
  fila = hoja.createRow( f );
  celda = fila.createCell( c );
  texto = new HSSFRichTextString( textoEscribir );
         celda.setCellValue(texto);
 }
 
/**
*creamos un fileOutputStream para guardar el archivo, 
y simplemente la informacion contenida en el libro la escribimos en el archivo
*/
 public void guardarArchivo( String rutaGuardar , String nombreArchivo){  
  try {
            FileOutputStream elFichero = 
new FileOutputStream( rutaGuardar + File.separator + nombreArchivo + ".xls" );
            libro.write(elFichero);
            elFichero.close();                       
        } catch (Exception e) {
         System.out.println(" no se pudo guardar el archivo en la ruta especificada " 
+ e.getMessage());
        }  
 }
}

4.- En el segundo paquete, crearemos la clase TestExcel


package com.excel.poi.test;

import com.excel.poi.ejemplo.CrearExcel;

public class TestExcel {

 /**
  * @param args
  */
 public static void main(String[] args) {
  //CLASE MUY SENSILLA DE UTILIZAR !
  CrearExcel myExcel = new CrearExcel();
  myExcel.configuraLibroHoja();
  myExcel.agregarTexto(1, 1, "Hola mundo desde Java-Limos");
  myExcel.guardarArchivo( "C://Users//JAVA-LIMOS//Documents//POI" , "ExcelJava_Limos");

 }

}

Esto de crear archivos de excel, con poi es relativamente sensillo. y como decia mi sensei, un programa es tan sensillo o complejo hasta donde nosotros queramos !

viernes, octubre 21, 2011

Creando una aplicacion con JSF RichFaces parte V

Esta es la ultima entrada respecto a RICHFACES, no agrego integracion con hibernate, por el hecho de que no he posteado sobre el de forma individual, como sea lo retomare en el futuro.

ahora solo nos queda crear un flujo basico que utiliza richfaces...

seran dos jsp, una pantalla de login y otra de bienvenida.

1.- jsp de login.

<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

html
    head
    /head
    body
    

/body /html
2.- bean de login.
public class Login {
 private String nombre;
 private String password;
 
 public String getNombre() {
  return nombre;
 }
 public void setNombre(String nombre) {
  this.nombre = nombre;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 } 
 public void limpiar(){
  setPassword("");
  setNombre("");
 }
}
3.- bean loginService.
public class LoginService{
private Login login;
public String loginAction() {  
 if(getLogin().getNombre()!=null && getLogin().getPassword()){   
  return "loginOk";
 }  
return null;
}
public void setLogin(Login login) {
 this.login = login;
}
public Login getLogin() {
 return login;
}
}

4.- jsp de bienvenida.
<%@page contentType="text/html" pageEncoding="UTF-8"%>

<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@taglib uri="http://richfaces.org/rich" prefix="rich"%>
<%@taglib uri="http://richfaces.org/a4j" prefix="a4j"%>
 
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

html
    head
    /head
    body
          
              
          
    /body
/html

5.- configuracion del faces config.

     /login.jsp
     
          loginOk
               /bienvenida.jsp
               
       



     /bienvenida.jsp


LISTO AQUI TENEMOS UN FLUJO BASICO PARA NUESTRO JSP, CON ESTO TERMINO LOS POST SOBRE RICHFACES BASICO, EN SIGUIENTES ENTRADAS PUBLICARE SOBRE FACELETS Y COSASQUE HARAN QUE FURULE MEJOR NUESTRO SISTEMA