PHPWord阅读HTML输入模板是部分emppty

时间:2017-10-11 10:44:20

标签: php ms-word phpword

我非常感谢有人帮忙。谷歌搜索根本没有提供答案。

我正在使用PHPWord从html表单中读取26个html输入字段。所有输入字段的类型都是“文本”。我的.docx模板基于位于'Examples'文件夹中的'Template.docx',并使用格式$ {pattern}和setValue()方法包含相同数量的变量。

我的问题是phpWord只读取了一半的输入字段,剩下的就是空白,或者在两种情况下它只是打印出变量$ {pattern}。

模板是用MS Word编写的,因为在Libreoffice Writer中第二次遇到MS Word格式错误的问题。

Template.php的代码:

<?php

require_once '../PHPWord.php';

$PHPWord = new PHPWord();

$document = $PHPWord->loadTemplate('Template_LRX.docx');


// Kundendaten

$document->setValue('kname', $_POST['namekunde']);

$document->setValue('kvorname', $_POST['vorname']);

$document->setValue('kstrasse', $_POST['strasse']);

$document->setValue('kplz', $_POST['plz']);

$document->setValue('kort', $_POST['ort']);

$document->setValue('kemail', $_POST['emailkunde']);


// Daten für die Berechnung

$document->setValue('beguenstigt', $_POST['beguenstigter']);

$document->setValue('kgebdat', $_POST['d1'] . $_POST['m1'] . $_POST['y1']);

$document->setValue('klebenserwartung', $_POST['lebenserwartung']);

$document->setValue('kimmo', $_POST['immobilie']);

$document->setValue('kimmowert', $_POST['verkaufspreis'] . 'Euro');

$document->setValue('ksabschlag', $_POST['sabschlag'] . '%');

$document->setValue('kanzahlung', $_POST['anzahlung'] . 'Euro');

$document->setValue('kmiete', $_POST['mietzins'] . 'Euro');


// Ergebnis

$document->setValue('lrlaufzeit', $_POST['lebenserwartung']);

$document->setValue('wertimmo', $_POST['immowert']);

$document->setValue('lrsa', $_POST['sicherheitsabschlag']);

$document->setValue('lrwohnrecht', $_POST['wertwohnrecht']);

$document->setValue('lranzahlung', $_POST['ausgabeanzahlung']);

$document->setValue('lrbasis', $_POST['basis']);

$document->setValue('lrjrente', $_POST['jleibrente']);

$document->setValue('lrmrente', $_POST['mleibrente']);


// Berater

$document->setValue('bname', $_POST['nameberater']);

$document->setValue('btelefon', $_POST['telefon']);

$document->setValue('datum', $_POST['datum']);


// Verarbeitung

$document->save('Leibrentenberechnung.docx');

header('Content-Type: application/octet-stream');

header('Content-Disposition: attachment; filename="Leibrentenberechnung.docx"');

readfile('Leibrentenberechnung.docx');

?>

0 个答案:

没有答案