【问题标题】:PHPWord dont replace textPHPWord 不替换文本
【发布时间】:2015-05-22 09:53:21
【问题描述】:

这段代码,从 db 获取查询并用该数据填充模板 docx,唯一填充的不是数据库中的数据,我已经输出了我尝试插入的数据,看起来很好,我想我在替换文本时遗漏了一些东西,但我找不到在哪里。有人可以帮我吗?

require_once APPPATH.'PHPWord.php';
        //$i=0;
        // Create a new PHPWord Object
        $PHPWord = new PHPWord();
        //get query
        $queryResult = $this->get($id);
        //load template
        $document = $PHPWord->loadTemplate($queryResult[0]['template_location']);

        $document->setValue('weekday', date('l'));
        $document->setValue('time', date('H:i'));

        $result = mysql_query($queryResult[0]['query_sql']) or die (mysql_error());

        $i=1;

        while($row = mysql_fetch_row($result))
        {
            for($aux=0; $aux < mysql_num_fields($result); $aux++)
            {
                if(!isset($row[$aux]))  
                    $value = NULL;  
                elseif ($row[$aux] != "")  
                    $value = strip_tags($row[$aux]);
                else  
                    $value = "";

                $document->setValue($i, $value);
                echo $i,"=",$value, " ";
                $i++;
            }
        }

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

    }

【问题讨论】:

  • 感谢更新,但我收到的数据没有任何问题,因为我会回显我传递的所有内容,这很好,我只是有一个问题,因为 document->setValue($我,$值);不会像它应该被覆盖的地方。但我尝试使用 mysql_ 并使用 pdo。

标签: php phpword


【解决方案1】:

您需要的只是简单,几乎所有事情都正确,只是缺少一件事,这个:

$document->setValue(''.$i.'', $value);

然后它应该工作:)

【讨论】:

    猜你喜欢
    • 2013-05-23
    • 1970-01-01
    • 2013-12-10
    • 2021-10-09
    • 2018-01-06
    • 2020-12-24
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    相关资源
    最近更新 更多