¿Como utilizar Excel como base de datos y acceder con una Aplicacion Java?

Iniciado por lexoazul, 14 Enero 2014, 22:01 PM

0 Miembros y 1 Visitante están viendo este tema.

lexoazul

Hola a todos ya tiene mucho tiempo que estoy aqui y hoy tengo algun problema con Programacion JAVA; explico mi duda.
Quiero tener una base de datos en Excel y que pueda acceder a ella por JAVA; lo cual la aplicacion podra realizar consultas en dicha Base de Datos.
Me he encontrado con los JXL y eso es para poder crear documentos de Excel y de la misma forma poder editar eso no me sirve ya que la informacion que tengo en el excel es demasiado grande.

Si me dieran una idea de como hacer este proyecto se los agradezco de antemano.
Un saludo a todos.

1mpuls0

Utiliza la librería POI, esta te permitirá leer, escribir y modificar documentos excel con suma facilidad.

Saludos.
abc

lexoazul

Gracias darhius por la pronta respuesta; ya habia leido sobre esa paqueteria de java pero hace lo mismo que JXL la diferencia es que corrijieron algunos errores y que ya se puede utilizar para editar y crear archivos de excel 2007 osea los formatos Xlsx.
Ahora lo que tengo es un exel como base de datos la cual tengo mas de 300,000 mil campos y leer con esa paqueteria el excel se derborda la memoria.

La idea del proyecto es que pueda hacer consultas como si fuera una base de datos.

Saludos igual si estoy mal y no se puede hacer me serviria que opinaran asi no busco algo imposible  :rolleyes:    :laugh:

Saludos y nuevamente Gracias

lexoazul

Ya busque la solucion y como el conocimiento se comparte les voy a colocar la soluccion; al menos la que funciono.

1.- Convertir el Excel a base de datos access .MDB
2.- Crear la Conexion de Java y acceder a la Base de Datos.

Primero que nada les mostrare un pequeño excel el cual es la Base de Datos.


Convertir el Excel a base de datos access .MDB
Les mostrare los pasos para Convertir el Excel
I.- Abrir Access y crear una Base de datos en Blanco


II.- Ponerle nombre a la base de datos y Crearla


III.- Luego incluiremos el excel para la Base de datos.


Nota: Cambiar el tipo de archivo que vamos a buscar a Microsoft Excel.

IV.- Luego elige la hoja que sera tu tabla y dar click en siguiente.


V.- Si tu Tabla contiene Encabezados en la primera fila seleccionar la opcion "Primera fila contiene encabezados de columna" y dar click en siguiente.


VI.- Luego te pedira como quieres que se llame la tabla; luego click en Finalizar.


VII.- Ahora procederemos a guardar la Base de datos con el Formato .MDB
Guardarlo como Base de Datos Access 2002-2003; como se muestra en la imagen; en mi caso le puse "prueba.mdb"


Una vez hecho la Base de Datos  Crearemos un ejemplo para poder usar la Base.

Crear la Conexion de Java y acceder a la Base de Datos

Les dejo Mi ejemplo.
import java.sql.Connection;
import java.sql.Statement;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.util.Vector;

public class ConexionAccess{
        String NombreBD = "prueba.mdb";
        Connection conexion;
        Statement stamt;
        String consulta = "SELECT nombre FROM usuario where edad=20";
    public ConexionAccess(){
        try{
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conexion = DriverManager.getConnection("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=" + this.NombreBD);
            stamt = conexion.createStatement();
            stamt.executeQuery(consulta);
            ResultSet rs= stamt.getResultSet();
           
            if(rs != null){
                while(rs.next()){
                    Vector ctemp = new Vector();
                    for(int i = 1; i<=rs.getMetaData().getColumnCount();i++)
                    {
                        ctemp.add(rs.getString(i));
                        System.out.println(ctemp.get(i-1));
                    }
                        System.out.println("\n##################");
                }
            }
            else{
                System.out.println("No hay datos");
            }
        }catch(Exception e){
            e.printStackTrace();
        }
    }
   
    public static void main(String args[]){
        ConexionAccess ca = new ConexionAccess();
    }
}


Espero les haya aclarado la duda y mil disculpas si esta muy larga mi explicacion.
Tambien agradezco el espacio para poder publicarlo y sobre todo a las personas que me ayudaron.

Si tienen alguna duda con gusto les contesto.
;-)       :rolleyes:       ;-)

1mpuls0

Es lo que te iba a proponer, xD
El por que no mejor trabajas en access aunque tiene sus limitaciones pero es mejor que excel.

Si aun quieres trabajar con excel es parecido, solo que debes utilizar un jdbc para excel.
:http://chuwiki.chuidiang.org/index.php?title=Leer_Excel_desde_Java_como_si_fuera_una_Base_de_Datos

Creo que el tamaño máximo para los archivos de access es de 2 GB, te lo digo para que lo tomes en cuenta.

Gracias por la explicación, a más de uno le servirá.
abc

lexoazul

Muchas Gracias Darhius por el dato no sabia que solo soportan 2GB cuando termine de hacer este proyecto empleare la forma que me dice el link que me proporcionaste si me funciona y logro hacer que se conecte lo posteare para todo aquel que igual tenga la misma Duda.

Saludos