Foros del Web » Programando para Internet » PHP »

PHP y Excel

Estas en el tema de PHP y Excel en el foro de PHP en Foros del Web. Hola, muy buenos, días a ver si me podeis ayudar, que no doi con la solución. Tengo una consulta realizada a partir de mysql, e ...
  #1 (permalink)  
Antiguo 19/04/2011, 01:38
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 1
Pregunta PHP y Excel

Hola, muy buenos, días a ver si me podeis ayudar, que no doi con la solución.

Tengo una consulta realizada a partir de mysql, e importo los datos posteriormente a un excel, para sacar un listado, hasta ahi, todo correcto, la duda me asalta que quiero que me de los permisos de escritura al usuario que acceda a ellos ¿es posible? y la segunda, es que intento introducir una cabecera al excel, pero si la pongo no me obtiene ningun dato.
Espero vuestra ayuda

Os dejo aqui el codigo
Código PHP:
<?
header
("Content-Type: application/vnd.ms-excel");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=ListadoMails_".date('d-m-Y').".xls");

include(
"funciones.php");
$conexion=ConectarBD();
$result=mysql_query("select * from anuncios;",$conexion);
   
//echo "<table>ID;Nombre;Nombre Artistico;Telefono;Mail;\n</table>";
   
while ($row mysql_fetch_array($result)) {
       echo 
$row[0].";".$row[4].";".$row[5].";".$row[6].";".$row[7].";\n";
   }
   
mysql_close($conexion);
?>
  #2 (permalink)  
Antiguo 19/04/2011, 07:55
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PHP y Excel

fijate los parametros que recibe el metodo open_file("nombreArchivo","permisos")
  #3 (permalink)  
Antiguo 19/04/2011, 14:41
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: PHP y Excel

y que hgao con el fopen ¿Lo abro y lo vuelvo a cerrar o como? no lo entiendo
y para lo de la cabecera teneis alguna solucion o algo?
  #4 (permalink)  
Antiguo 26/04/2011, 03:16
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: PHP y Excel

Ante la poca ayuda que he recibido, al final he usado la clase excel writer que al menos me pone una cabecera en el documento, pero sigo sin poder dar permiso de escritura, al usuario que se lo descargue.... en fin...
espero que al menos le sirva a alguien para algo y si alguien me puede resolver lo de los permisos se lo agradeceria :)
  #5 (permalink)  
Antiguo 26/04/2011, 06:46
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 9 meses
Puntos: 288
Respuesta: PHP y Excel

te recomiendo usar la clase PHPExcel, es muy facil y no vas a tener mas esos problemas triviales
  #6 (permalink)  
Antiguo 26/04/2011, 10:32
 
Fecha de Ingreso: enero-2011
Ubicación: DF
Mensajes: 898
Antigüedad: 13 años, 9 meses
Puntos: 155
Respuesta: PHP y Excel

http://phpexcel.codeplex.com/
__________________
No me interesan ni las gracias ni los karmas , pero si que se genere conocimiento, si se dio con la respuesta por favor confirmalo
  #7 (permalink)  
Antiguo 05/05/2011, 05:07
Avatar de kanalejana  
Fecha de Ingreso: agosto-2009
Mensajes: 23
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: PHP y Excel

Sus cuento amores, al final hice caso a patriarka y mogurbon y lo e exo con phpexcel, pero aun asi, me a costado un rato ponerlo en funcionamiento, tutoriales o manuales en castellano hay muy poquitos.
Sigo teniendo el problema de que no me deja quitar los permisos de solo lectura, e leido la documentacion y todo, pero parece que nada funciona... :(

Sus dejo aqui el codigo a ver
Código PHP:
$objPHPExcel->getProperties()
->
setCreator("Kanalejana")
->
setTitle("Mails_".date('d-m-Y'));
$objPHPExcel->getSecurity()->setLockWindows(false);
//$objPHPExcel->getSecurity()->setLockWindows(true);
$objPHPExcel->setActiveSheetIndex(0)
->
setCellValue('A1''Nombre')
->
setCellValue('B1''Teléfono')
->
setCellValue('C1''Mail')
->
setCellValue('D1''Provincia');
while(
$Rs2 mysql_fetch_array($result)) {
$objPHPExcel->setActiveSheetIndex(0)
    ->
setCellValue('A'.$celda$Rs2["1"])
    ->
setCellValue('B'.$celda$Rs2["2"])
    ->
setCellValue('C'.$celda$Rs2["3"])
    ->
setCellValue('D'.$celda$Rs2["4"]);
    
$celda++;
}
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->setTitle('Listado de Correos');
$objPHPExcel->setActiveSheetIndex(0);
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Mails_'.date('d-m-Y').'.xlsx"');
header('Cache-Control: max-age=0');
$objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
$objWriter->save('php://output');
exit; 

Etiquetas: excel
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 12:10.