
| Path : /home/gujo45me/public_html/margarita/pdf/ |
| Disable Functions : exec,passthru,shell_exec,system System : Linux server-604606.appsiete.com 3.10.0-1160.119.1.el7.tuxcare.els25.x86_64 #1 SMP Wed Oct 1 17:37:27 UTC 2025 x86_64 [ Home ][ Zone-h ][ Jumping ][ Symlink ][ Mass Depes ][ Command ] |
| Current File : /home/gujo45me/public_html/margarita/pdf/reporteSire_ventas_excel.php |
<?php
include("config.php");
require_once("phpexcel/PHPExcel.php");
if (PHP_SAPI == 'cli')
die('Este archivo solo se puede ver desde un navegador web');
// Se crea el objeto PHPExcel
$objPHPExcel = new PHPExcel();
$fecha1 = $_GET['fecha1']; //mes
$fecha2 = $_GET['fecha2']; //año
$fecha_inicio = $fecha2."-".$fecha1."-01";
$fecha_fin = $fecha2."-".$fecha1."-31";
$conexion = new mysqli($db_host,$db_user,$db_pass,$db_name);
if (mysqli_connect_errno()) {
printf("La conexión con el servidor de base de datos falló: %s\n", mysqli_connect_error());
exit();
}
$consulta1 = 'SELECT
(SELECT razon_social FROM empresa WHERE id_empresa=1) as "Nombre_Empresa",
(SELECT ruc FROM empresa WHERE id_empresa=1) as "RUC_Empresa",
v.id_venta,
DATE_FORMAT(v.fecha_venta, "%d/%m/%Y") as "Fecha_Emision",
DATE_FORMAT(v.fecha_pago, "%d/%m/%Y") as "Fecha_Vencimiento",
tc.codigo as "Tipo_Comprobante",
v.serie_comprobante as "Serie",
v.numero_comprobante as "Numero",
td.codigo as "Tipo_Documento",
c.numero_documento as "RUC",
c.nombre as "Razon_Social",
(SELECT SUM(ROUND(dv.precio_venta_neto,2)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="AFECTO" AND dv.id_venta=v.id_venta) as "Base_imponible",
(SELECT SUM(ROUND(dv.impuesto, 2)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="AFECTO" AND dv.id_venta=v.id_venta) as "Igv",
(SELECT SUM(dv.precio_venta_total) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="EXONERADO" AND dv.id_venta=v.id_venta) as "Exonerado",
(SELECT SUM(dv.precio_venta_total) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="INAFECTO" AND dv.id_venta=v.id_venta) as "Inafecto",
(SELECT (v.total_venta-SUM(dv.precio_venta_total)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE dv.id_venta=v.id_venta) as "Icbper",
v.total_venta as "Importe_Total",
v.tipo_pago as "Tipo_Pago",
v.estado_envio as "Estado",
v.mensaje_envio as "Mensaje"
FROM ventas v INNER JOIN clientes c ON v.id_cliente = c.id_cliente
INNER JOIN tipo_comprobante tc ON v.id_tipo_comprobante = tc.id_tipo_comprobante
INNER JOIN tipo_documento td ON c.id_tipo_documento = td.id_tipo_documento
WHERE (v.fecha_venta >= "'.$fecha2.'-'.$fecha1.'-01" AND v.fecha_venta <= "'.$fecha2.'-'.$fecha1.'-31") AND v.estado="1" ORDER BY v.created_at ASC';
$consulta2 = 'SELECT
(SELECT razon_social FROM empresa WHERE id_empresa=1) as "Nombre_Empresa",
(SELECT ruc FROM empresa WHERE id_empresa=1) as "RUC_Empresa",
n.id_nota,
DATE_FORMAT(n.created_at, "%d/%m/%Y") as "Fecha_Emision",
tcn.codigo as "Tipo_Comprobante",
n.serie_nota as "Serie",
n.numero_nota as "Numero",
td.codigo as "Tipo_Documento",
c.numero_documento as "RUC",
c.nombre as "Razon_Social",
(SELECT SUM(ROUND(dv.precio_venta_neto,2)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="AFECTO" AND dv.id_venta=v.id_venta) as "Base_imponible",
(SELECT SUM(ROUND(dv.impuesto, 2)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="AFECTO" AND dv.id_venta=v.id_venta) as "Igv",
(SELECT SUM(dv.precio_venta_total) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="EXONERADO" AND dv.id_venta=n.id_venta) as "Exonerado",
(SELECT SUM(dv.precio_venta_total) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE p.situacion_impuesto="INAFECTO" AND dv.id_venta=n.id_venta) as "Inafecto",
(SELECT (v.total_venta-SUM(dv.precio_venta_total)) FROM detalle_venta dv INNER JOIN productos p ON p.id_producto=dv.id_producto WHERE dv.id_venta=v.id_venta) as "Icbper",
v.total_venta as "Importe_Total",
DATE_FORMAT(v.fecha_venta, "%d/%m/%Y") as "Fecha_Venta",
v.fecha_venta as "Fecha_Anulado",
tcv.codigo as "Tipo_Comprobante_Venta",
v.serie_comprobante as "Serie_Venta",
v.numero_comprobante as "Numero_Venta",
v.tipo_pago as "Tipo_Pago",
n.estado_envio as "Estado",
n.mensaje_envio as "Mensaje"
FROM notas n INNER JOIN ventas v ON n.id_venta = v.id_venta
INNER JOIN clientes c ON c.id_cliente = v.id_cliente
INNER JOIN tipo_comprobante tcn ON tcn.id_tipo_comprobante = n.id_tipo_comprobante
INNER JOIN tipo_comprobante tcv ON tcv.id_tipo_comprobante = v.id_tipo_comprobante
INNER JOIN tipo_documento td ON td.id_tipo_documento = c.id_tipo_documento
WHERE (n.created_at >= "'.$fecha2.'-'.$fecha1.'-01" AND n.created_at <= "'.$fecha2.'-'.$fecha1.'-31" ) AND n.estado="1" ORDER BY n.created_at ASC';
$resultado1 = $conexion->query($consulta1);
$resultado2 = $conexion->query($consulta2);
$i = 3; //Numero de fila donde se va a comenzar a rellenar
$suma = 0;
$suma_base = 0;
$suma_base_nota = 0;
$suma_igv = 0;
$suma_igv_nota = 0;
$suma_exonerado = 0;
$suma_inafecto = 0;
$suma_icbper = 0;
$j = 1;
$existeBoleta = false;
$existeNota = false;
// Propiedades del documento
$objPHPExcel->getProperties()->setCreator("Seven")
->setLastModifiedBy("Seven")
->setTitle("Reporte de VENTAS REALIZADAS")
->setSubject("Reporte de VENTAS REALIZADAS")
->setDescription("Reporte de VENTAS REALIZADAS")
->setKeywords("office 2010 openxml php")
->setCategory("Archivo con resultado de reporte");
// Combino las celdas desde A1 hasta F1
$objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:AA1');
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'REPORTE DE VENTAS - SIRE')
->setCellValue('A2', 'ITEM')
->setCellValue('B2', 'RUC')
->setCellValue('C2', 'RAZON SOCIAL')
->setCellValue('D2', 'PERIODO')
->setCellValue('E2', 'TIPO DE PAGO')
->setCellValue('F2', 'FECHA DE EMISION')
->setCellValue('G2', 'F. VENCIMIENTO')
->setCellValue('H2', 'TIPO COMP.')
->setCellValue('I2', 'SERIE')
->setCellValue('J2', 'NUMERO')
->setCellValue('K2', 'TIPO DOC.')
->setCellValue('L2', 'DNI/RUC CLIENTE')
->setCellValue('M2', 'RAZON SOCIAL')
->setCellValue('N2', 'BASE IMPONIBLE')
->setCellValue('O2', 'DESC. BASE IMPONIBLE')
->setCellValue('P2', 'IGV')
->setCellValue('Q2', 'DESC. IGV BASE IMP.')
->setCellValue('R2', 'EXONERADO')
->setCellValue('S2', 'INAFECTO')
->setCellValue('T2', 'GRATUITO')
->setCellValue('U2', 'ICBPER')
->setCellValue('V2', 'IMPORTE TOTAL')
->setCellValue('W2', 'MONEDA')
->setCellValue('X2', 'F.EMISION COMPROBANTE ANULADO')
->setCellValue('Y2', 'TIPO COMPROBANTE ANULADO')
->setCellValue('Z2', 'SERIE COMPROBANTE ANULADO')
->setCellValue('AA2', 'NUMERO COMPROBANTE ANULADO')
->setCellValue('AB2', 'ESTADO SUNAT')
->setCellValue('AC2', 'MENSAJE SUNAT');
// Fuente de la primera fila en negrita
$boldArray = array('font' => array('bold' => true,),'alignment' => array('horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER));
$objPHPExcel->getActiveSheet()->getStyle('A1:AC2')->applyFromArray($boldArray);
//Ancho de las columnas
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(60);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(8);
$objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(50);
$objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(10);
$objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(25);
$objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('T')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('U')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('V')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('W')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('X')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('Y')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('Z')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('AA')->setWidth(35);
$objPHPExcel->getActiveSheet()->getColumnDimension('AB')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('AC')->setWidth(100);
if($resultado1->num_rows > 0 ){
while ($fila = $resultado1->fetch_array()) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, $j)
->setCellValue('B'.$i, utf8_encode($fila['Nombre_Empresa']))
->setCellValue('C'.$i, utf8_encode($fila['RUC_Empresa']))
->setCellValue('D'.$i, utf8_encode($fecha2."-".$fecha1))
->setCellValue('E'.$i, utf8_encode($fila['Tipo_Pago']=="CREDITO" ? "CREDITO" : "CONTADO" ))
->setCellValue('F'.$i, utf8_encode($fila['Fecha_Emision']))
->setCellValue('G'.$i, utf8_encode($fila['Fecha_Vencimiento']))
->setCellValue('H'.$i, utf8_encode($fila['Tipo_Comprobante']))
->setCellValue('I'.$i, utf8_encode($fila['Serie']))
->setCellValue('J'.$i, utf8_encode($fila['Numero']))
->setCellValue('K'.$i, utf8_encode($fila['Tipo_Documento']))
->setCellValue('L'.$i, utf8_encode($fila['RUC']))
->setCellValue('M'.$i, utf8_encode($fila['Razon_Social']))
->setCellValue('N'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Base_imponible']) ? $fila['Base_imponible'] : "0.00"))
->setCellValue('O'.$i, "0.00" )
->setCellValue('P'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Igv']) ? $fila['Igv'] : "0.00"))
->setCellValue('Q'.$i, "0.00" )
->setCellValue('R'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Exonerado']) ? $fila['Exonerado'] : "0.00"))
->setCellValue('S'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Inafecto']) ? $fila['Inafecto'] : "0.00"))
->setCellValue('T'.$i, "0.00" ) //gratuito
->setCellValue('U'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Icbper']) ? $fila['Icbper'] : "0.00"))
->setCellValue('V'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : $fila['Importe_Total'])
->setCellValue('W'.$i, "PEN" )
->setCellValue('X'.$i, "")
->setCellValue('Y'.$i, "")
->setCellValue('Z'.$i, "")
->setCellValue('AA'.$i, "")
->setCellValue('AB'.$i, utf8_encode($fila['Estado']=="ACEPTADO" ? $fila['Estado'] : ($fila['Estado']=="RECHAZADO" ? $fila['Estado'] : "PENDIENTE") ))
->setCellValue('AC'.$i, utf8_encode($fila['Estado']=="ACEPTADO" ? $fila['Mensaje'] : ($fila['Estado']=="RECHAZADO" ? $fila['Mensaje'] : "El comprobante se encuentra pendiente de enviar a la SUNAT") ));
$i++;
$j++;
if($fila['Estado'] != "RECHAZADO"){
$suma = $suma + $fila['Importe_Total'];
$suma_base = $suma_base + $fila['Base_imponible'];
//$suma_base_nota = $suma_base_nota + $fila['Importe_Total'];
$suma_igv = $suma_igv + $fila['Igv'];
//$suma_igv_nota = $suma_igv_nota + $fila['Importe_Total'];
$suma_exonerado = $suma_exonerado + $fila['Exonerado'];
$suma_inafecto = $suma_inafecto + $fila['Inafecto'];
$suma_icbper = $suma_icbper + $fila['Icbper'];
}
}
$existeBoleta = true;
}
if($resultado2->num_rows > 0 ){
while ($fila = $resultado2->fetch_array()) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, $j)
->setCellValue('B'.$i, utf8_encode($fila['Nombre_Empresa']))
->setCellValue('C'.$i, utf8_encode($fila['RUC_Empresa']))
->setCellValue('D'.$i, utf8_encode($fecha2."-".$fecha1))
->setCellValue('E'.$i, utf8_encode($fila['Tipo_Pago']=="CREDITO" ? "CREDITO" : "CONTADO" ))
->setCellValue('F'.$i, utf8_encode($fila['Fecha_Emision']))
->setCellValue('G'.$i, "")
->setCellValue('H'.$i, utf8_encode($fila['Tipo_Comprobante']))
->setCellValue('I'.$i, utf8_encode($fila['Serie']))
->setCellValue('J'.$i, utf8_encode($fila['Numero']))
->setCellValue('K'.$i, utf8_encode($fila['Tipo_Documento']))
->setCellValue('L'.$i, utf8_encode($fila['RUC']))
->setCellValue('M'.$i, utf8_encode($fila['Razon_Social']))
->setCellValue('N'.$i, check_in_range($fecha_inicio, $fecha_fin, $fila['Fecha_Anulado']) ? ($fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Base_imponible']) ? "-".$fila['Base_imponible'] : "0.00")) : "0.00")
->setCellValue('O'.$i, check_in_range($fecha_inicio, $fecha_fin, $fila['Fecha_Anulado']) ? "0.00" : ($fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Base_imponible']) ? "-".$fila['Base_imponible'] : "0.00")) )
->setCellValue('P'.$i, check_in_range($fecha_inicio, $fecha_fin, $fila['Fecha_Anulado']) ? ($fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Igv']) ? "-".$fila['Igv'] : "0.00")) : "0.00")
->setCellValue('Q'.$i, check_in_range($fecha_inicio, $fecha_fin, $fila['Fecha_Anulado']) ? "0.00" : ($fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Igv']) ? "-".$fila['Igv'] : "0.00")) )
->setCellValue('R'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Exonerado']) ? "-".$fila['Exonerado'] : "0.00"))
->setCellValue('S'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Inafecto']) ? "-".$fila['Inafecto'] : "0.00"))
->setCellValue('T'.$i, "0.00" ) //gratuito
->setCellValue('U'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : (!is_null($fila['Icbper']) ? "-".$fila['Icbper'] : "0.00"))
->setCellValue('V'.$i, $fila['Estado']=="RECHAZADO" ? "0.00" : "-".$fila['Importe_Total'])
->setCellValue('W'.$i, "PEN" )
->setCellValue('X'.$i, utf8_encode($fila['Fecha_Venta']))
->setCellValue('Y'.$i, utf8_encode($fila['Tipo_Comprobante_Venta']))
->setCellValue('Z'.$i, utf8_encode($fila['Serie_Venta']))
->setCellValue('AA'.$i, utf8_encode($fila['Numero_Venta']))
->setCellValue('AB'.$i, utf8_encode($fila['Estado']=="ACEPTADO" ? $fila['Estado'] : ($fila['Estado']=="RECHAZADO" ? $fila['Estado'] : "PENDIENTE") ))
->setCellValue('AC'.$i, utf8_encode($fila['Estado']=="ACEPTADO" ? $fila['Mensaje'] : ($fila['Estado']=="RECHAZADO" ? $fila['Mensaje'] : "El comprobante se encuentra pendiente de enviar a la SUNAT") ));
$i++;
$j++;
if($fila['Estado'] != "RECHAZADO"){
$suma = $suma - $fila['Importe_Total'];
if(check_in_range($fecha_inicio, $fecha_fin, $fila['Fecha_Anulado']) ) {
$suma_base = $suma_base - $fila['Base_imponible'];
$suma_igv = $suma_igv - $fila['Igv'];
} else {
$suma_base_nota = $suma_base_nota - $fila['Base_imponible'];
$suma_igv_nota = $suma_igv_nota - $fila['Igv'];
}
$suma_exonerado = $suma_exonerado - $fila['Exonerado'];
$suma_inafecto = $suma_inafecto - $fila['Inafecto'];
$suma_icbper = $suma_icbper - $fila['Icbper'];
}
}
$existeNota = true;
}
if($existeBoleta || $existeNota){
$color_style_array = [
'font' => [
'color' => ['rgb' => 'FF0000'],
'bold' => true,
],
'alignment' => [
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
]
];
$color_style_array2 = [
'font' => [
'color' => ['rgb' => '0000FF'],
'bold' => true,
],
'alignment' => [
'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT
]
];
$objPHPExcel->getActiveSheet()->getStyle('AA3:AA'.$i)->applyFromArray($color_style_array);
$objPHPExcel->getActiveSheet()->getStyle('AC3:AC'.$i)->applyFromArray($color_style_array2);
$objPHPExcel->getActiveSheet()->getStyle('V3:V'.$i)->applyFromArray($color_style_array);
$objPHPExcel->getActiveSheet()->getStyle('N'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('O'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('P'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('Q'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('R'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('S'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('T'.$i)->getFont()->setBold(true);
$objPHPExcel->getActiveSheet()->getStyle('U'.$i)->getFont()->setBold(true);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('V'.$i, $suma);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('N'.$i, $suma_base);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('O'.$i, $suma_base_nota);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('P'.$i, $suma_igv);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('Q'.$i, $suma_igv_nota);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('R'.$i, $suma_exonerado);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('S'.$i, $suma_inafecto);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('T'.$i, "0.00");
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('U'.$i, $suma_icbper);
$objPHPExcel->getActiveSheet()->getStyle('N3:N'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('O3:O'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('P3:P'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('Q3:Q'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('R3:R'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('S3:S'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('T3:T'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('U3:U'.$i)->getNumberFormat()->setFormatCode('0.00');
$objPHPExcel->getActiveSheet()->getStyle('V3:V'.$i)->getNumberFormat()->setFormatCode('0.00');
$i = $i-1;
$H = "AC".$i;
$rango = "A2:$H";
$styleArray = array('font' => array( 'name' => 'Arial','size' => 10),
'borders'=>array('allborders'=>array('style'=> PHPExcel_Style_Border::BORDER_THIN,'color'=>array('argb' => 'FFF')))
);
$objPHPExcel->getActiveSheet()->getStyle($rango)->applyFromArray($styleArray);
// Cambiar el nombre de hoja de cálculo
$objPHPExcel->getActiveSheet()->setTitle('Reporte de Ventas');
// Establecer índice de hoja activa a la primera hoja , por lo que Excel abre esto como la primera hoja
$objPHPExcel->setActiveSheetIndex(0);
// Se manda el archivo al navegador web, con el nombre que se indica, en formato 2007
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Reporte_SIRE_Ventas.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;
}
else{
print_r('No hay resultados para mostrar');
}
//comprobar rango de fechas
function check_in_range($fecha_inicio, $fecha_fin, $fecha){
$fecha_inicio = strtotime($fecha_inicio);
$fecha_fin = strtotime($fecha_fin);
$fecha = strtotime($fecha);
if(($fecha >= $fecha_inicio) && ($fecha <= $fecha_fin)) {
return true;
} else {
return false;
}
}