Foros del Web » Programando para Internet » PHP »

Base de datos en excel??

Estas en el tema de Base de datos en excel?? en el foro de PHP en Foros del Web. Amigos, Como se hace para que una base de datos (MySQL) sea exportable a excel?? Gracias...
  #1 (permalink)  
Antiguo 19/06/2009, 11:21
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Base de datos en excel??

Amigos,

Como se hace para que una base de datos (MySQL) sea exportable a excel??

Gracias
  #2 (permalink)  
Antiguo 19/06/2009, 14:35
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Base de datos en excel??

Holas,

existen muchos softwares que hacen ese trabajo, para lo cual no es necesario darle una estructura u otra para generarlo a formato de excel toda tu data.

Una forma que podrias optar es con un script y personalizar que tabla o que campos de tabla o tablas quieras exportala a excel, y guardarla a un formato .csv y esto tenerlos en exce.

Antes, necesitas tener toda tu base de datos en excel??? o solo unas tablas o campos?

Saludos
Gildus
__________________
.: Gildus :.
  #3 (permalink)  
Antiguo 19/06/2009, 15:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Base de datos en excel??

Gracias por contestarme.

Mira lo que necesito es poder hacer una ejecucion desde mi web para que me exporte los mensajes que han llegado a cada usuario.

Es decir, te explico mejor. Tengo una web familiar, en la que nos comunicamos, pero lo que quiero es poder hacer que ellos puedan descargar sus mensajes en un documento de excel. Lo hago ahora para esta web pero tambien lo quiero hacer para aprender por si acaso lo podria necesitar para implementar en otra web.

Osea que supongo que lo quiero es poder descargar datos de una base de datos en excel, no creo que sea una tabla ya que a veces son varias tablas pero los campos son especificos.

Ejemplo:
tabla 1- id_usuario nombres, apellidos, documento de identidad
tabla 2- id_usuario, id_mensaje, fecha, mensajes recibidos, mensajes enviados

los datos a exportar son:

1- id_usuario - nombres - apellidos - id_mensaje - mensajes recibidos

2- 1- id_usuario - nombres - apellidos - id_mensaje - mensajes enviados


es un ejemplo me falta los destinatarios, hora del mensaje, asunto, etc etc, es para que te hagas una idea de la ejecucion que quiero hacer

Gracias por la ayuda
  #4 (permalink)  
Antiguo 19/06/2009, 16:12
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Base de datos en excel??

Para mi esto ya no seria en esta seccion de Base de datos sino, en la seccion de PHP, o ASP o JSP, depende del lenguage de tu servidor.

Pero en PHP a leguas que esta super facil, se alguien nos mueve a la seccion de PHP te detallo mas de como hacer.

En realidad es un simple SQL y luego lo demas ya es del scrip en el servidor.

Saludos
Gildus
__________________
.: Gildus :.
  #5 (permalink)  
Antiguo 19/06/2009, 18:10
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Base de datos en excel??

Existe una posibilidad y es hacer que una consulta SELECT genere un archivo CSV, con los datos formateados como para que Excel los levante directamente:

Código sql:
Ver original
  1. SELECT * FROM gente
  2. INTO OUTFILE "gente.txt"
  3. FIELDS TERMINATED BY ';'
  4. OPTIONALLY ENCLOSED BY '\"'
  5. LINES TERMINATED BY '\n\r';

Ocasionalmente, hay que darle formato específico a las fechas, porque sino quedarían en la forma aaaa-mm-dd.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 20/06/2009, 11:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Base de datos en excel??

Como Solicito migracion entonces a PHP?
gracias

Última edición por easy; 20/06/2009 a las 11:20
  #7 (permalink)  
Antiguo 21/06/2009, 10:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Base de datos en excel??

Tema trasladado desde Bases de Datos
  #8 (permalink)  
Antiguo 21/06/2009, 11:08
Avatar de temaqueja  
Fecha de Ingreso: agosto-2002
Ubicación: /dev/null/
Mensajes: 399
Antigüedad: 21 años, 8 meses
Puntos: 4
Respuesta: Base de datos en excel??

Yo he venido usando una clase llamada mysql_excel que obtuve en www.phpclasses.org, es muy sencilla y si no te convence ahi encontraras algunas otras, aca unos ejemplos de como se utiliza:

Código PHP:
  include("mysql_excel.inc.php");

    
    
$import=new HarImport();
    
$import->openDatabase(LIB_DB_SERVIDOR,LIB_DB_USUARIO,LIB_DB_CLAVE,LIB_DB_DATABASE);

    
//To import the data from table
    //$import->ImportDataFromTable("usuarios","",true);
    
    //To import the data from sql query

    
$sql="select r.user_name,p.amount from recruiter r ,payment p where p.user_name=r.user_name"
    
$import->ImportData($sql,"myXls.xls");

    
//To force to download
    //$import->ImportDataFromTable("clientes","",true);
    //Or
    
$import->ImportData($sql,"export.xls",true); 
lo unico que tienes que hacer es colocar los 3 archivos

mysql_excel.inc.php
db.inc.php
excelwriter.inc.php

en la misma carpeta que se ejecuta el script (del ejemplo)
__________________
_________________________
La computadora nació para resolver problemas que antes no existían
  #9 (permalink)  
Antiguo 22/06/2009, 16:22
 
Fecha de Ingreso: diciembre-2008
Mensajes: 454
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Base de datos en excel??

muchisimas gracias, lo intentaré y te comentaré.

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:27.