PHP - Generar Word desde Php

 
Vista:

Generar Word desde Php

Publicado por PhpWord Plantilla (4 intervenciones) el 08/07/2021 14:00:05
Buenas tardes.
Estoy utilizando la librería PhpWord para generar un archivo Word desde Php a través de una plantilla. Necesito ayuda porque no consigo insertar los datos procedentes de una base de datos en la plantilla Word.
A continuación reflejo el código:

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
<?php
require_once "vendor/autoload.php";
 
use vendor\phpoffice\phpword\src\PhpWprd\TemplateProcessor;
 
$templateWord = new \PhpOffice\PhpWord\TemplateProcessor('plantilla.docx');
 
 
$ServerName = "localhost";
$Username = "nombre_usuario";
$Password = "password";
$NameBD = nombre_base";
$conexion = new mysqli($ServerName, $Username, $Password, $NameBD);
mysqli_select_db($conexion,'nombre_base');
$q = mysqli_query($conexion,"SELECT * FROM tabla_base WHERE campo ='$campo'");
$regs = mysqli_fetch_array($q);
$centro = $regs["centro"];
$nprofesores = $regs['NProfesores'];
$medadprof = $regs['MEdadProf'];
$mgenero = $regs['MGenero'];
$mdocencia = $regs['MDocencia'];
 
 
        $templateWord->setValue('nombre_centro', $centro);
        $templateWord->setValue('numero_profesores', $nprofesores);
        $templateWord->setValue('edad_media', $medadprof);
        $templateWord->setValue('media_genero', $mgenero);
        $templateWord->setValue('años_docencia', $mdocencia);
 
 
        $templateWord->saveAs('plantilla.doc');
 
        header("Content-Disposition: attachment; filename=plantilla.doc; charset=iso-8859-1");
        echo file_get_contents('plantilla.doc');
?>
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

Generar Word desde Php

Publicado por Mauro (1036 intervenciones) el 08/07/2021 14:10:09
Hola!

¿Estás viendo algún error en particular? Veo medio extraña esta línea:

1
use vendor\phpoffice\phpword\src\PhpWprd\TemplateProcessor;

Se me hace que deberías poner algo como:

1
use Phpoffice\PhpWord\TemplateProcessor;

En su lugar
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

Generar Word desde Php

Publicado por Cristina (4 intervenciones) el 08/07/2021 16:15:23
Hola Mauro.
Muchas gracias por tu atención.
He sustituido la línea que me has dicho y me aparece el siguiente error:

Parse error: syntax error, unexpected 'use' (T_USE), expecting identifier (T_STRING) or function (T_FUNCTION) or const (T_CONST) or \\ (T_NS_SEPARATOR).

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