PHP - Problema al exportar datos a excel con php

 
Vista:
sin imagen de perfil
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por code (38 intervenciones) el 25/03/2021 21:17:32
Hola a todos , tengo un pequeño problema y es que al momento de exportar los datos al archivo Excel no me reconoce los acentos ni las tildes, a continuación dejo mi código ya lo he intentado utf8_encode pero no consigo hacerlo


Ejemplo echo "Asesor: "utf8_encode(.$row['asesor']);


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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<?php
include "conexion.php";
$filename = 'reporte_ventas.xls';
 
header("Content-Type: text/html;charset=utf-8");
header("Content-Type:application/vnd.ms-excel; name='excel'");
header("Content-Disposition: filename=reporte_ventas.xls");
header("pragma: no-cache");
header("expires: 0");
 
 
 
// POST values
 
// POST values
$from_date = $_POST['from_date'];
$to_date = $_POST['to_date'];
$empresa= $_POST['empresa'];
// Select query
$query = "SELECT c.* FROM cliente c,usuario u where c.usuario_id=u.idusuario and u.empresa='".$empresa."' ORDER BY nombre asc ";
 
 
if(isset($_POST['from_date']) && isset($_POST['to_date'])){
   $query = "SELECT c.* FROM cliente c,usuario u where (c.fecha_actual between
   '".$from_date."' and '".$to_date."') and c.usuario_id=u.idusuario and u.empresa='".$empresa."' ORDER BY c.idcliente asc";
}
 
$result = mysqli_query($conn,$query);
$employee_arr = array();
 
 
 
 
// file creation
//$file = fopen($filename,"w");
 
// Header row - Remove this code if you don't want a header row in the export file.
$employee_arr = array("fecha_actual","documento","primer_apellido","segundo_apellido","nombre","genero","fecha_naci","edad","celular","correo","planCobertura","opcion","inicio_vigencia","fin_vigencia","meses","prima_anual","valor_asegurado","prima_total","asesor","oficina","empresa");
   ?>
<table width="50%" border="1" cellpadding="10" cellspacing="0" bordercolor="#666666" id="export_to_excel" style="border-collapse:collapse;">
                  <tr>
                    <td colspan="4"><h2>Reporte de ventas</h2></td>
                   </tr>
   <?php
while($row = mysqli_fetch_assoc($result)){
   echo "<tr><td>";
   $fecha_actual = $row['fecha_actual'];
   echo "Fecha Actual: ".$row['fecha_actual'];
   echo "</td>";
   echo "<td>";
   $documento = $row['documento'];
   echo "Documento No.:  ".$row['documento'];
   echo "</td>";
   echo "<td>";
   echo "Primer Apellido:  ".$row['primer_apellido'];
   echo "</td>";
   echo "<td>";
   echo "Segundo Apellido:  ".$row['segundo_apellido'];
   echo "</td>";
   echo "<td>";
   echo "Nombre:  ".$row['nombre'];
   echo "</td>";
   echo "<td>";
   echo "Genero:  ".$row['genero'];
   echo "</td>";
   echo "<td>";
   echo "Fecha de Nacimiento:  ".$row['fecha_naci'];
   echo "</td>";
   echo "<td>";
   echo "Edad:  ".$row['edad'];
   echo "</td>";
   echo "<td>";
   echo "Celular:  ".$row['celular'];
   echo "</td>";
   echo "<td>";
   echo "Correo:  ".$row['correo'];
   echo "</td>";
   echo "<td>";
   echo "Producto:  ".$row['planCobertura'];
   echo "</td>";
   echo "<td>";
   echo "Opcion:  ".$row['opcion'];
   echo "</td>";
   echo "<td>";
   echo "Inicio Vigencia:  ".$row['inicio_vigencia'];
   echo "</td>";
   echo "<td>";
   echo "Fin Vigencia:  ".$row['fin_vigencia'];
   echo "</td>";
   echo "<td>";
   echo "Meses:  ".$row['meses'];
   echo "</td>";
   echo "<td>";
   echo "prima Anual:  ".$row['prima_anual'];
   echo "</td>";
   echo "<td>";
   echo "Valor Asegurado:  ".$row['valor_asegurado'];
   echo "</td>";
   echo "<td>";
   echo "Prima Total:  ".$row['prima_total'];
   echo "</td>";
   echo "<td>";
   echo "Ofisina:  ".$row['oficina'];
   echo "</td>";
   echo "<td>";
   echo "Empresa:  ".$row['empresa'];
   echo "</td>";
   echo "<td>";
   echo "Asesor:  ".$row['asesor'];
   echo "</td>";
   $primer_apellido = $row['primer_apellido'];
   $segundo_apellido = $row['segundo_apellido'];
   $nombre = $row['nombre'];
   $genero = $row['genero'];
   $fecha_naci = $row['fecha_naci'];
   $edad = $row['edad'];
   $celular = $row['celular'];
   $correo = $row['correo'];
   $planCobertura = $row['planCobertura'];
   $opcion = $row['opcion'];
   $inicio_vigencia = $row['inicio_vigencia'];
   $fin_vigencia = $row['fin_vigencia'];
   $meses = $row['meses'];
   $prima_anual = $row['prima_anual'];
   $valor_asegurado = $row['valor_asegurado'];
   $prima_total = $row['prima_total'];
   $asesor = $row['asesor'];
   $oficina = $row['oficina'];
   $empresa = $row['empresa'];
   // Write to file
   $employee_arr = array($fecha_actual,$documento,$primer_apellido,
   $segundo_apellido,$nombre,$genero,$fecha_naci,$edad,$celular,$correo,
   $planCobertura,$opcion,$inicio_vigencia,$fin_vigencia,$meses,
   $prima_anual,$valor_asegurado,$prima_total,$asesor,$oficina,$empresa);
   echo "</tr>";
   //fputcsv($file,$employee_arr);
}
?>
</table>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por Mauro (1032 intervenciones) el 29/03/2021 16:16:59
Hola Code:

¿Probaste utilizar la librería PhpSpreadSheet? Aquí te dejo un ejemplo.

Consúltame si tienes dudas ;)
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
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por code (38 intervenciones) el 29/03/2021 21:10:15
No comprendo mucho...
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por Mauro (1032 intervenciones) el 30/03/2021 14:48:30
Ya... ¿podrías ser un poco más específico? ¿Qué parte(s) no comprendes?

¿Qué intentaste?
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
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por code (38 intervenciones) el 31/03/2021 19:39:05
Hola ya conseguí Exportar a Excel con fechas y filtra por oficina ahora lo que debo implementar es que me genere un reporte de todas las ventas de la empresa osea un reporte general sin necesidad de filtrar por oficina

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
<form form method='post' action="reporte.php">
            <input type="hidden" name="empresa" value="<?php echo $proveedor; ?>">
               <div class="form-row">
                   <div class="form-group col-lg-12">
                       <label>Oficinas</label>
        <select id="ofician"
        name="oficina" class="form-control ">
        <option>Seleccione una oficina</option>
        <?php
          $sql = $conn->prepare("SELECT * FROM oficina where estatus = 1 and proveedor_id=".$_GET['id']." order by nombreOficina");
 
          if($sql->execute()){
            $g_result = $sql->get_result();
          }
          while($row = $g_result->fetch_array()){
        ?>
          <option value = "<?php echo $row['nombreOficina']?>"><?php echo ($row['nombreOficina'])?></option>
        <?php
            }
         // $conn->close();
        ?>
      </select>
 
                   </div>
               </div>
 
            <div class="row mt-3">
                   <div class="col-lg-6">
           <label for="fecha_inicio">Fecha Inicio:</label>
    <input type="date" class="form-control" name="from_date" id='from_date' required>
             </div>
               <div class="col-lg-6">
                      <label for="fecha_final">Fecha Final:</label>
    <input type="date" class="form-control"  name="to_date" id='to_date' required>
             </div>
            </div>
            <div class="row mt-3">
              <div class="col-lg-12">
                <input type="submit" class="btn btn-success mt-3
                float-right text-uppercase text-white ml-3 font-weight-bold" style="font-size: 13px; letter-spacing: 2px; background-color: #096AA2; border-color: #096AA2;" id="register"
        value= "Exportar" name="generar_reporte">
              </div>
            </div>
</form>
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
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por code (38 intervenciones) el 31/03/2021 19:39:51
Con este otra parte genero el reporte

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
<?php
 
require_once "conexion.php";
 
$from_date = $_POST['from_date'];
$to_date = $_POST['to_date'];
$empresa=$_POST['empresa'];
$oficina=$_POST['oficina'];
 
if (isset($_POST['generar_reporte'])) {
 
 
    header('Content-Type: application/vnd.ms-excel; charset=latin1');
	header('Content-Disposition: attachment; filename="Ventas.csv"');
 
	$salida=fopen('php://output', 'w');
 
	fputcsv($salida, array('No.','Fecha Actual', 'Documento',
	'Primer Apellido', 'Segundo Apellido','Nombre','Genero',
	'Fecha de nacimiento','Edad','Celular','Correo','planCobertura',
	'Opcion','Inicio de Vigencia','Fin de Vigencia','Meses','Prima Total',
	'Asesor','Oficina','Empresa'), ";");
 
$sql="SELECT * FROM cliente  where (fecha_actual BETWEEN '$from_date' AND '$to_date') and (empresa='$empresa') and (oficina='$oficina')";
//echo $sql;
 
$reporteCsv=$conn->query($sql);
	while($filaR= $reporteCsv->fetch_assoc())
		fputcsv($salida, array ($filaR['idcliente'],
								$filaR['fecha_actual'],
								$filaR['documento'],
								$filaR['primer_apellido'],
								$filaR['segundo_apellido'],
								$filaR['nombre'],
								$filaR['genero'],
								$filaR['fecha_naci'],
								$filaR['edad'],
								$filaR['celular'],
								$filaR['correo'],
								$filaR['planCobertura'],
								$filaR['opcion'],
								$filaR['inicio_vigencia'],
								$filaR['fin_vigencia'],
								$filaR['meses'],
								$filaR['prima_total'],
							utf8_decode($filaR['asesor']),
							utf8_decode($filaR['oficina']),
							utf8_decode($filaR['empresa'])), ";");
 
                            }
 
?>
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por Mauro (1032 intervenciones) el 01/04/2021 16:18:04
¿No te alcanzaría con remover el where oficina=...?
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
Val: 93
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por code (38 intervenciones) el 04/04/2021 23:48:49
Esa es la condición que hace que se exporte por oficina , entonces si la quito no generaría
el filtro
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 Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema al exportar datos a excel con php

Publicado por Mauro (1032 intervenciones) el 05/04/2021 15:27:46
No entiendo.

¿No es eso lo que comentas en "ahora lo que debo implementar es que me genere un reporte de todas las ventas de la empresa osea un reporte general sin necesidad de filtrar por oficina"?
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