Написать исправление в word из laravel с помощью php word?


я использую библиотеку php word в своем проекте с laravel, она работает правильно, что я делаю, это использовать шаблон word и добавлять к нему значения с помощью TemplateProcessor, проблема, которую я представляю, - это когда я хочу написать в шаблон word динамический массив, содержащий значения запроса к bd. расположение: имяacti1['futbol', 'natacion','beisbol'].

я пытаюсь следующим образом, я прилагаю код:

$sqlclientes="SELECT * FROM datos_clientes";


$datos_clientes = DB::select($sqlclientes);




foreach ($datos_clientes as $datos_cli) {
    $nombre_cli=$datos_cli->nombre_cli;
    $empresa_cli=$datos_cli->empresa_cli;
    $correo_cli=$datos_cli->correo_cli;
    $ciudad_cli=$datos_cli->ciudad_cli;
    $direccion_cli=$datos_cli->direccion_cli;
    $fecha_cli=$datos_cli->fecha_cli;
    $objetivo_ =$datos_cli->objetivo_;
    $referencia_= $datos_cli->referencia_;
}


//Aqui creamos el word con texto de prueba


// Abriendo la plantilla
$TemplateProcessor= new TemplateProcessor(Storage_path('Estudio_Conexion.docx'));
$TemplateProcessor->setValue('nombre_cliente',$nombre_cli);
$TemplateProcessor->setValue('nombre_empresa',$empresa_cli);
$TemplateProcessor->setValue('Correo',$correo_cli);
$TemplateProcessor->setValue('direccion',$direccion_cli);
$TemplateProcessor->setValue('fecha',$fecha_cli);
$TemplateProcessor->setValue('referencia',$referencia_);
$TemplateProcessor->setValue('objetivo',$objetivo_);

$TemplateProcessor->setValue('actividades',$nombreacti1);


$TemplateProcessor->saveAs('cot1.docx');
return response()->download('cot1.docx');

в word я назначаю переменную activities следующим образом:

introducir la descripción de la imagen aquí

я хотел бы, чтобы этот массив был вставлен в виде списка в этой части документа, но при этом я получаю ошибку(Array to string conversion) и поврежденный документ загружается.

Author: Ándres Felipe Patiño, 2018-04-30

1 answers

Используя информацию, которую я предоставляю alo Malberez, выполните следующее решение, я прилагаю его здесь, Если кто-то служит:

$sqlclientes="SELECT * FROM datos_clientes";


$datos_clientes = DB::select($sqlclientes);




foreach ($datos_clientes as $datos_cli) {
    $nombre_cli=$datos_cli->nombre_cli;
    $empresa_cli=$datos_cli->empresa_cli;
    $correo_cli=$datos_cli->correo_cli;
    $ciudad_cli=$datos_cli->ciudad_cli;
    $direccion_cli=$datos_cli->direccion_cli;
    $fecha_cli=$datos_cli->fecha_cli;
    $objetivo_ =$datos_cli->objetivo_;
    $referencia_= $datos_cli->referencia_;
}


//Aqui hago el implode con el salto de linea de word usando el arreglo 
$var=implode(" </w:t><w:br/><w:t> ",$nombreacti1);

// Creating the new document...
$TemplateProcessor= new TemplateProcessor(Storage_path('Estudio_Conexion.docx'));
$TemplateProcessor->setValue('nombre_cliente',$nombre_cli);
$TemplateProcessor->setValue('nombre_empresa',$empresa_cli);
$TemplateProcessor->setValue('Correo',$correo_cli);
$TemplateProcessor->setValue('direccion',$direccion_cli);
$TemplateProcessor->setValue('fecha',$fecha_cli);
$TemplateProcessor->setValue('referencia',$referencia_);
$TemplateProcessor->setValue('objetivo',$objetivo_);

$TemplateProcessor->setValue('algo',$var);


$TemplateProcessor->saveAs('cot1.docx');
return response()->download('cot1.docx');
 1
Author: Ándres Felipe Patiño, 2018-04-30 20:01:30