PHP - Se puede crear un Excel con encabezado y totales en PHP?

 
Vista:
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 29/07/2019 19:53:13
Buen día.

Les comento que yo utilizo PHPExcel para generar unos reportes, pero hoy necesito que los reportes no sean lineales, y a que me refiero con ello, que no solo sean lineas hacia abajo si no que tengan forma especifica. Les muestro lo que necesito.

Tengo un reporte PDF generado desde PHP el cual se muestra así:
1

Hice el archivo XLS y lo descargo perfectamente mostrándome lo siguiente:
2

Bien, lo que me gustaría es poner el valor de cada factura bajo las lineas de la misma:
3

Si bien tengo todo lo necesario para hacerlo, pues en el PDF lo hago tal cual me gusta, en el XLS no se como implementarlo. He buscado info y se que PHPExcel esta obsoleto y que se debe usar PHPSpreadSheets en su lugar, pero buscando ejemplos con la nueva libreria, solo encuentro ejemplos "lineales" como la primer imagen del XLS que les muestro, mas no encuentro la forma de poner totales.

Vi un tuto donde con PHPSpreadSheets hacen suma de valores pero lo hacen en celdas alejadas de los datos, por ejemplo si en B1,B2,B3 hay cantidades, pueden sumar B1 + B2 pero en una celda tipo D4 por asi decirlo.

Asi que esa es la duda, si puedo generar el reporte del PDF en XLS o por lo menos que muestre los totales por si no puedo hacerlo con los encabezados de cada factura como el PDF
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 Alejandro
Val: 1.634
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Alejandro (839 intervenciones) el 29/07/2019 21:01:14
  • Alejandro se encuentra ahora conectado en el
  • chat de PHP
¿Pues como haces el PDF? La pregunta es porque para mi sería lo mismo.

vas recorriendo linea por linea
si es la primera insertas el encabezado seguido la linea
si es diferente al anterior y no es la ultima insertas los totales, el encabezado y la linea
si es la ultima insertas la linea y los totales.

tendrías que llevar contadores para meter las formulas.
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 29/07/2019 21:40:25
El PDF lo genero en 4 partes.

La primer función llama a los headers de cada compra, son las lineas grises del PDF, la segunda llama al detalle de la compra, toma el ID del ingreso (tomado de los headers) y los va anexando hacia abajo, la tercera hace una suma de las lineas del detalle y las coloca después de las lineas de detalle y por ultimo una sola suma de todos los ingresos

1
2
3
4
funcion para los Headers
   funcion para los Detalles
      funcion para los totales por factura
         funcion para el total general de todo (que es una suma de los valores que están en los headers)

Y como es una tabla HTML que luego paso a PDF es super fácil, ya con las librerías de Excel es que ni idea de como seria
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 29/07/2019 23:10:02
Bueno, lo he conseguido.

Analicé la estructura del PDF y en base a ello fui haciendo el XLS parte por parte, al final a quedado como el PDF

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

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por jose garcia (1 intervención) el 19/02/2020 19:07:05
Buenas,

Como lo resolvio, mi pregunta es porque tengo una categoria
Pero esa categoria tiene diferentes cuentas al final cada cuenta tiene su subtotal y necesito crear el subtotal general de esa categoria
y al final sacar el total general de todas las categorias
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 21/02/2020 10:01:11
Lo hice justo como respondí arriba.

Seguí como el PDF

1
2
3
4
funcion para los Headers
   funcion para los Detalles
      funcion para los totales por factura
         funcion para el total general de todo (que es una suma de los valores que están en los headers)
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
sin imagen de perfil

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Juan (2 intervenciones) el 06/05/2020 06:46:15
Buenas a todos pase por este foro y quise ayudar con lo que pude hacer solo logre los encabezados y la parte de los datos pero sin los totales si acaso alguien pueda obtener el total ayúdenme se lo agradecería aquí dejo lo realizado de favor ayúdenme solo falta el total y no se como obtenerlo.

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
$data = array (
  array(
    'product_code' => 'S284056',
    'product_name' => 'Ferrary F1234',
    'customer_code' => 'CUST1234',
    'customer_name' => 'Gino Ginetti',
    'amount' => 250000),
  array('product_code' => 'S284056',
    'product_name' => 'Ferrary F1234',
    'customer_code' => 'CUST1100',
    'customer_name' => 'Gongolo Nannolo',
    'amount' => 270000 ),
  array('product_code' => 'S284056',
    'product_name' => 'Ferrary F12345',
    'customer_code' => 'CUST1100',
    'customer_name' => 'Gongolo Nannolo',
    'amount' => 280000 ),
  array('product_code' => 'S292383',
    'product_name' => 'Lardonghini Mucila',
    'customer_code' => 'CUST0120',
    'customer_name' => 'Pasquale Pasqualini',
    'amount' => 352000 ),
  array('product_code' => 'S292383',
    'product_name' => 'Lardonghini Mucila',
    'customer_code' => 'CUST1234',
    'customer_name' => 'Gino Ginetti',
    'amount' => 352000 ),
  array('product_code' => 'S898964',
    'product_name' => 'Porsck Paprika',
    'customer_code' => 'CUST0120',
    'customer_name' => 'Pasquale Pasqualini',
    'amount' => 352000 ),
  array('product_code' => 'S898964',
    'product_name' => 'Porsck Paprika',
    'customer_code' => 'CUST0054',
    'customer_name' => 'Pino Pinerati',
    'amount' => 175000 )
);
$lastProductCode = null;
$breakProduct = true;
$productTotal = null;
$row = 4;
foreach($data as $key => $temp) {
    $breakProduct = $temp['product_code'] != $lastProductCode;
    /*if ($breakProduct) {
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(5, $row, $lastProductCode);
    }*/
 
    if ($breakProduct) {
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(5, $row, $productTotal);
 
        $objPHPExcel->setActiveSheetIndex(0)
                ->setCellValue('A'.$row+=1,$temp['product_code']);
        $objPHPExcel->getActiveSheet()->getStyle('A'.$row)->applyFromArray($styleArray);
        $objPHPExcel->getActiveSheet()->mergeCells('A'.$row.':'.'E'.$row);
 
        //$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(0, $row+=1, 'hola');
        //$objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow(1, $row, 'hola');
        $objPHPExcel->setActiveSheetIndex(0)
            ->setCellValue('A'.$row+=1, 'Codigo del Producto')
            ->setCellValue('B'.$row, 'Nombre del Producto')
            ->setCellValue('C'.$row, 'Identificacion del Cliente')
            ->setCellValue('D'.$row, 'Nombre del Cliente')
            ->setCellValue('E'.$row, 'Valor');
        $row++;
    }
 
    $col = 0;
    foreach(array_keys($temp) as $value) {
        $objPHPExcel->getActiveSheet()->setCellValueByColumnAndRow($col, $row, $temp[$value]);
        $col++;
    }
 
    $row++;
 
    $lastProductCode = $temp['product_code'];
}
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
sin imagen de perfil

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Sergio Rafael (11 intervenciones) el 08/05/2020 13:07:04
buenos dias amigo, yo lo hago con la libreria phpexcel y me funciona.
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
sin imagen de perfil

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Juan (2 intervenciones) el 14/05/2020 03:15:20
buenas noches si existe la manera ayúdeme con el código de favor
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 14/05/2020 12:33:49
Algunas cosas

Vio que mi problema es similar al suyo?
Ha logrado dibujar en HTML su reporte?
Lo ha dividido en partes?

Yo me tarde varios días en llegar al reporte de este post y me salio magnifico, pero no lo hice de un solo, investigue mucho, tome consejos de acá, tomé de base el consejo de Alejandro y al final vea mi respuesta, realmente ya lo tenia hecho, solo era pasarlo a XLS

Le pido que lea desde el inicio como yo hice y se que resolverá su problema, y ojo a la librería que yo usé.
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

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por rogelio (1 intervención) el 11/07/2020 20:45:32
Yo tengo un problema similar , estoy usando FPDF no logro colocar los subtotales, puedo sacar el total general pero no por producto, es decir los subtotales.
fpdf

Por favor podrías ayudarme.

Gracias, saludos
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 Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Se puede crear un Excel con encabezado y totales en PHP?

Publicado por Kathyu (905 intervenciones) el 13/07/2020 10:31:58
Rogelio, antes que nada decirle que este tema va en base a un XLS.

Y porque le digo esto? porque yo para los PDF utilizo otra librería, mucho mas fácil, que tal si le da una mirada a este tema??
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