向Word文档Laravel发送变量
有任何方法可以将变量发送到word文档,重命名它,并使其可从laravel中的应用程序下载。是 用于读写字处理文档的纯PHP库 对 用于读写字处理文档的纯PHP库向Word文档Laravel发送变量,laravel,laravel-5,phpdoc,Laravel,Laravel 5,Phpdoc,有任何方法可以将变量发送到word文档,重命名它,并使其可从laravel中的应用程序下载。是 用于读写字处理文档的纯PHP库 对 用于读写字处理文档的纯PHP库 使用PHPOffice/PHPWord的油井 您可以在laravel 5.2中执行类似操作: public function descargardoc($id) { // New Word document setlocale(LC_TIME, 'es'); //return $id; $dat
使用PHPOffice/PHPWord的油井 您可以在laravel 5.2中执行类似操作:
public function descargardoc($id)
{
// New Word document
setlocale(LC_TIME, 'es');
//return $id;
$data = $this->getData($id);
$status = $this->getStatus($id);
$date = date('Y-m-d');
$fecha_documento = $this->getFecha($data);
$fecha_ingreso = $this->getFechaIngreso($data);
$fecha_inicio_reduc = $this->getFechaReducJor($data);
echo date('H:i:s') , " Create new PhpWord object" , PHP_EOL;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$document = $phpWord->loadTemplate('doc/reduccion_de_jornada.docx');
//Mapeo de Variables
$document->setValue('ciudad', ($data['ciudad']) );
$document->setValue('fecha_documento', $fecha_documento );
$document->setValue('nombre_persona', ($data['nombre_persona']) );
$document->setValue('apellido1', ($data['apellido1']) );
$document->setValue('apellido2', ($data['apellido2']) );
$document->setValue('dni', ($data['dni']) );
$document->setValue('domicilio', ($data['domicilio']) );
$document->setValue('calle', ($data['calle']) );
$document->setValue('nrocalle', ($data['nrocalle']) );
$document->setValue('piso', ($data['piso']) );
$document->setValue('puerta', ($data['puerta']) );
$document->setValue('codpostal', ($data['codpostal']) );
$document->setValue('ciudad', ($data['ciudad']) );
$document->setValue('nombre_empresa', ($data['nombre_empresa']) );
$document->setValue('fecha_ingreso', $fecha_ingreso );
$document->setValue('puesto_trabajo', ($data['puesto_trabajo']) );
$document->setValue('categoria_profesional', ($data['categoria_profesional']) );
$document->setValue('porcentaje_reduccion', ($data['porcentaje_reduccion']) );
$document->setValue('razon_reduccion', ($data['razon_reduccion']) );
$document->setValue('ini_horario_reduc', ($data['ini_horario_reduc']) );
$document->setValue('fin_horario_reduc', ($data['fin_horario_reduc']) );
$document->setValue('fecha_inicio_reduc', $fecha_inicio_reduc );
$document->setValue('fin_dia_reduc', ($data['fin_dia_reduc']) );
$document->setValue('preaviso', ($data['preaviso']) );
$name = 'Doc'."$id".'-'.'ReduJornada'."$date".'.docx';
echo date('H:i:s'), " Write to Word2007 format", PHP_EOL;
$document->saveAs($name);
rename($name, storage_path()."/word/{$name}");
$file= storage_path(). "/word/{$name}";
//$file= storage_path(). "/word/{$name}";
$headers = array(
//'Content-Type: application/msword',
'Content-Type: vnd.openxmlformats-officedocument.wordprocessingml.document'
);
$response = Response::download($file, $name, $headers);
ob_end_clean();
return $response;
}
然后,在模板文件中,必须以以下方式声明变量:
En${ciudad}。a${fecha_documento}使用PHPOffice/PHPWord 您可以在laravel 5.2中执行类似操作:
public function descargardoc($id)
{
// New Word document
setlocale(LC_TIME, 'es');
//return $id;
$data = $this->getData($id);
$status = $this->getStatus($id);
$date = date('Y-m-d');
$fecha_documento = $this->getFecha($data);
$fecha_ingreso = $this->getFechaIngreso($data);
$fecha_inicio_reduc = $this->getFechaReducJor($data);
echo date('H:i:s') , " Create new PhpWord object" , PHP_EOL;
$phpWord = new \PhpOffice\PhpWord\PhpWord();
$document = $phpWord->loadTemplate('doc/reduccion_de_jornada.docx');
//Mapeo de Variables
$document->setValue('ciudad', ($data['ciudad']) );
$document->setValue('fecha_documento', $fecha_documento );
$document->setValue('nombre_persona', ($data['nombre_persona']) );
$document->setValue('apellido1', ($data['apellido1']) );
$document->setValue('apellido2', ($data['apellido2']) );
$document->setValue('dni', ($data['dni']) );
$document->setValue('domicilio', ($data['domicilio']) );
$document->setValue('calle', ($data['calle']) );
$document->setValue('nrocalle', ($data['nrocalle']) );
$document->setValue('piso', ($data['piso']) );
$document->setValue('puerta', ($data['puerta']) );
$document->setValue('codpostal', ($data['codpostal']) );
$document->setValue('ciudad', ($data['ciudad']) );
$document->setValue('nombre_empresa', ($data['nombre_empresa']) );
$document->setValue('fecha_ingreso', $fecha_ingreso );
$document->setValue('puesto_trabajo', ($data['puesto_trabajo']) );
$document->setValue('categoria_profesional', ($data['categoria_profesional']) );
$document->setValue('porcentaje_reduccion', ($data['porcentaje_reduccion']) );
$document->setValue('razon_reduccion', ($data['razon_reduccion']) );
$document->setValue('ini_horario_reduc', ($data['ini_horario_reduc']) );
$document->setValue('fin_horario_reduc', ($data['fin_horario_reduc']) );
$document->setValue('fecha_inicio_reduc', $fecha_inicio_reduc );
$document->setValue('fin_dia_reduc', ($data['fin_dia_reduc']) );
$document->setValue('preaviso', ($data['preaviso']) );
$name = 'Doc'."$id".'-'.'ReduJornada'."$date".'.docx';
echo date('H:i:s'), " Write to Word2007 format", PHP_EOL;
$document->saveAs($name);
rename($name, storage_path()."/word/{$name}");
$file= storage_path(). "/word/{$name}";
//$file= storage_path(). "/word/{$name}";
$headers = array(
//'Content-Type: application/msword',
'Content-Type: vnd.openxmlformats-officedocument.wordprocessingml.document'
);
$response = Response::download($file, $name, $headers);
ob_end_clean();
return $response;
}
然后,在模板文件中,必须以以下方式声明变量:
En${ciudad}。a${fecha_documento}