PHP - PHPExcel - poner un total

   
Vista:

PHPExcel - poner un total

Publicado por aldo (824 intervenciones) el 02/05/2016 02:00:14
Que tal a todos; he creado este codigo para hacer una hoja de Excel pero quisiera saber como totalizo la columna monto la cual esta en negrita y tambien como haria para no repetir la columna Nro Apto sino que aparezca impreso una sola vez?

Este es el codigo:
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
<?php
error_reporting(E_ALL);
//include_once 'Classes/PHPExcel.php';
require('Classes/PHPExcel.php');
 
   $connect = pg_connect("host=localhost port=5432 dbname=administra user=postgres password=movilnet");
   $modcod = $_POST['cedula'];
 
 
 
$objXLS = new PHPExcel();
$objSheet = $objXLS->setActiveSheetIndex(0);
 
$objSheet->setCellValue('A1','No Apto');
$objSheet->setCellValue('B1','Fecha');
$objSheet->setCellValue('C1','Monto');
 
	$numero=1;
   $consulta2 = "SELECT * FROM deuda WHERE deuda.cedula = '$modcod'  ORDER BY nroapto";
   $actualiza = @pg_query($connect,$consulta2);
 
	while($dato=pg_fetch_array($actualiza)){
		$numero++;
		$objSheet->setCellValue('A'.$numero, $dato['nroapto']);
		$objSheet->setCellValue('B'.$numero, $dato['fecha']);
		$objSheet->setCellValue('C'.$numero, $dato['monto']);
	}
 
 
$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("C")->setAutoSize(true);
$objXLS->getActiveSheet()->setTitle('DEUDA');
$objXLS->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5');
$objWriter->save(__DIR__ . "\Deuda.xls");
echo 'Archivo Guardado en '.(__DIR__ ."\Deuda.xls");
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

PHPExcel - poner un total

Publicado por xve (5515 intervenciones) el 02/05/2016 10:49:35
Hola Aldo, la manera que yo lo haría, seria crear una variable que va sumando el valor de $dato['monto'], para que cuando termine el bucle, mostrar dicho total...

algo así:
1
total=total+$dato['monto'];
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHPExcel - poner un total

Publicado por aldo (824 intervenciones) el 03/05/2016 02:41:26
Escribí tu sugerencia asi:

1
2
3
total=total+$dato['monto'];
y aqui trato de imprimir el resultado de esta forma:
$objSheet->setCellValue('C'.$numero, $dato['total']);

pero me arroja este error:
1
Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\prueba\tesis1\exceldeuda.php on line 35
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

PHPExcel - poner un total

Publicado por xve (5515 intervenciones) el 03/05/2016 08:33:53
Mil perdones Aldo... me deje el dolar...
1
$total=$total+$dato['monto'];

para mostrar el resultado, seria así:
1
$objSheet->setCellValue('C'.$numero, $total);

Creo que ahora si te funcionara... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHPExcel - poner un total

Publicado por aldo (824 intervenciones) el 03/05/2016 14:28:02
Hola Xve. Bueno este es el codigo en parte:

1
2
3
4
5
6
7
8
while($dato=pg_fetch_array($actualiza)){
					$numero++;
					$objSheet->setCellValue('B'.$numero, $dato['fecha']);
					$objSheet->setCellValue('C'.$numero, $dato['monto']);
$total=$total+$dato['monto'];
 
				}
$objSheet->setCellValue('C'.$numero, $total);

pero el resultado esta solapando el ultimo registro; queda de esta forma.

hoja
por supuesto si esta arrojando el resultado pero sobre el ultimo registro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

PHPExcel - poner un total

Publicado por aldo (824 intervenciones) el 03/05/2016 14:35:22
Hola Xve. ya esta resuelto:
me di cuenta que solo habia que cambiar el nombre o letra de la celda en vez de C debe ir la D u otra letra.
1
$objSheet->setCellValue('D'.$numero, $total);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de xve

PHPExcel - poner un total

Publicado por xve (5515 intervenciones) el 03/05/2016 20:04:34
Otra manera, es sumando un valor mas a la variable $numero antes de mostrar el total...
1
$numero++;

Gracias por compartirlo...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar