
Problema con setTitle en PHPExcel
Publicado por cristian (8 intervenciones) el 18/03/2016 16:19:23
Junto con saludarles, tengo un problema con el setTitle del phpexcel me explico. Tengo un libro en excel con varias hojas y los nombres de las hojas se las agrego a través de un array. El problema es que al abrir la hoja en excel esta me muestra que el formato no corresponde pero si elimino la parte del setTitle si me muestra los datos pero por supuesto sin los nombres de hoja que quiero que aparezcan.
Adjunto un archivo con lo que muestra el archivo de excel.
Adjunto un archivo con lo que muestra el archivo de excel.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
error_reporting(E_ALL);
include_once '../Classes/PHPExcel.php';
include("conexion.php");
$fecha1=date("Y-m-d",strtotime($_POST['FechaDesde']));
$fecha2=date("Y-m-d",strtotime($_POST['FechaHasta']));
$objXLS = new PHPExcel();
$can1=mysql_query("SELECT nombre_empleado FROM empleados where tipo_empleado='TECNICO'",$conexion);
$hoja=0;
while($dato1=mysql_fetch_array($can1, MYSQL_NUM))
{
$objSheet = $objXLS->createSheet();
$objSheet = $objXLS->setActiveSheetIndex($hoja);
$objXLS->getActiveSheet()->setTitle($dato1[0]); AQUI AGREGO EL NOMBRE A LA HOJA
$can=mysql_query("select numero_reporte,fecha_inicio,fecha_termino,direccion,sucursal,cerrado from reportes where numero in (select id from tecnicos where nombre_tecnico='".$dato1[0]."') and fecha_inicio between '".$fecha1."' and '".$fecha2."' order by fecha_inicio ASC",$conexion);
if(mysql_num_rows($can)>0)
{
$objSheet->setCellValue('A1', 'N°');
$objSheet->setCellValue('B1', 'Reporte');
$objSheet->setCellValue('C1', 'Fecha Inicio');
$objSheet->setCellValue('D1', 'Fecha Termino');
$objSheet->setCellValue('E1', 'Direccion');
$objSheet->setCellValue('F1', 'Sucursal');
$objSheet->setCellValue('G1', 'Cerrado');
$numero=1;
$numero1=1;
while($dato=mysql_fetch_array($can)){
$numero++;
$objSheet->setCellValue('A'.$numero, $numero1);
$objSheet->setCellValue('B'.$numero, $dato[0]);
$fecha3=date("d-m-Y",strtotime($dato[1]));
if ($fecha3=='31-12-1969'){$fecha3="";}
$objSheet->setCellValue('C'.$numero, $fecha3);
$fecha4=date("d-m-Y",strtotime($dato[2]));
if ($fecha4=='31-12-1969'){$fecha4="";}
$objSheet->setCellValue('D'.$numero, $fecha4);
$objSheet->setCellValue('E'.$numero, $dato[3]);
$objSheet->setCellValue('F'.$numero, $dato[4]);
$objSheet->setCellValue('G'.$numero, $dato[5]);
$numero1++;
}
$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("D")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("E")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("F")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("G")->setAutoSize(true);
$objXLS->setActiveSheetIndex($hoja);
$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_MEDIUM
)
)
);
$styleArray1 = array(
'borders' => array(
'allborders' => array(
'style' => PHPExcel_Style_Border::BORDER_THIN
)
)
);
$objXLS->getActiveSheet()->getStyle('A1:G1')->applyFromArray($styleArray);
$objXLS->getActiveSheet()->getStyle('A2:G'.$numero)->applyFromArray($styleArray1);
unset($styleArray);
$objXLS->getActiveSheet()->getStyle('A1:G1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objXLS->getActiveSheet()->getStyle('A2:G'.$numero)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
$objXLS->getActiveSheet()->getStyle('A2:G'.$numero)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);
}
else{$objSheet->setCellValue('A1', 'No tiene reportes');}
$hoja++;
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Listado Reportes.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5');
$objWriter->save('php://output');
header("Location:../Administrador/ReportesTecnico.php");
?>
- prueba.rar(1,9 KB)
Valora esta pregunta


0