Foros del Web » Programando para Internet » PHP »

xls a mysql con PHP

Estas en el tema de xls a mysql con PHP en el foro de PHP en Foros del Web. Hola a todos, a lo mejor ya han respondido esto antes, pero quisiera saber si hay alguna forma sencilla de subir por medio de una ...
  #1 (permalink)  
Antiguo 03/06/2008, 12:04
Avatar de tiranuss  
Fecha de Ingreso: enero-2008
Mensajes: 30
Antigüedad: 16 años, 2 meses
Puntos: 0
xls a mysql con PHP

Hola a todos, a lo mejor ya han respondido esto antes, pero quisiera saber si hay alguna forma sencilla de subir por medio de una pagina en PHP un archivo directamente en formato de excel .xls y copiar ese contenido a una tabla ya creada en MySQL, actualmente lo hago con el formato .csv y es muy facil, quisiera hacer lo mismo pero directamente con .xls para que el usuario no tenga que convertir su archivo antes de subirlo.
He visto clases como PHPExcelReader, y otros pero son algo enredados y traen sus propias interfaces, pero yo ya tengo mi pantalla y no se como acoplar estas clases y funciones para que me funcione correctamente.

¿Habra alguna forma sin usar esas clases, algo sencillo, que sea directamente desde codigo en la misma pagina como el fgetcsv para los archivos .csv pero para .xls?

Le agradezco muchisimo sus comentarios y su tiempo para ver mi duda.
Gracias.
  #2 (permalink)  
Antiguo 03/06/2008, 12:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: xls a mysql con PHP

creo que nada en la vida es fácil.... pero, si realmente quisieras hacerlo bien.... NO dudarías en usar la clase para Excel .... seguramente no es nada simple, pero.... solo si quisieras hacerlo bien, nada es fácil
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 03/06/2008, 12:50
Avatar de tiranuss  
Fecha de Ingreso: enero-2008
Mensajes: 30
Antigüedad: 16 años, 2 meses
Puntos: 0
Respuesta: xls a mysql con PHP

Gracias por responder pateketrueke,
se que nada es facil y a veces hay cosas mas complicadas que otras,,, solo pense que como subir un archivo .csv a mysql por PHP es relativamente sencillo que habria una forma similar de hacer lo mismo directamente con el formato .xls sin usar librerias y clases tan enredadas como las que hay.

pero sino no existe nada mejor, sencillamente, habrá que meterse con esas clases.
Gracias igualmente
  #4 (permalink)  
Antiguo 03/06/2008, 15:01
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: xls a mysql con PHP

Tal como te dice pateketrueke, la desventaja es que Excel es un formato propietario de Microsoft, por lo que debes de usar las clases y librerías enredadas.

CSV es un formato de texto plano, por lo que es muy sencillo de usar para subir los datos.

Saludos.
  #5 (permalink)  
Antiguo 01/07/2008, 15:18
 
Fecha de Ingreso: junio-2008
Mensajes: 25
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: xls a mysql con PHP

esta la encontré hoy mismo y funciona exelente.

saludos
<?php
// Edit the $Host, $User $Password, $DBName and $TableName vars only! //
$Host = "localhost";
$User = "user";
$Password = "passwd";
$DBName = "db";
$TableName = "tabla";

// DO NOT EDIT BELOW HERE //
$link = mysql_connect ($Host, $User, $Password) or die('Could not connect: ' . mysql_error());
mysql_select_db($DBName) or die('Could not select database');

$select = "SELECT * FROM `".$TableName."`";
$export = mysql_query($select);
$fields = mysql_num_fields($export);

for ($i = 0; $i < $fields; $i++) {
$csv_output .= mysql_field_name($export, $i) . "\t";
}

while($row = mysql_fetch_row($export)) {
$line = '';
foreach($row as $value) {
if ((!isset($value)) OR ($value == "")) {
$value = "\t";
} else {
$value = str_replace('"', '""', $value);
$value = '"' . $value . '"' . "\t";
}
$line .= $value;
}
$data .= trim($line)."\n";
}
$data = str_replace("\r","",$data);

header("Content-Type: application/vnd.ms-excel");
header("Content-Disposition: attachment; filename=basededatos.xls");
header("Pragma: no-cache");
header("Expires: 0");
print $csv_output."\n".$data;
exit;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Download MySQL Table Code</title>
</head>
<body>

</body>
</html>
  #6 (permalink)  
Antiguo 01/07/2008, 15:20
 
Fecha de Ingreso: junio-2008
Mensajes: 25
Antigüedad: 15 años, 9 meses
Puntos: 0
Respuesta: xls a mysql con PHP

chuchas era al reves! me pele xD
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 00:27.