2017-06-27 8 views
-1

現在、私は特にrowCloneとblockCloneに問題があります。ドキュメントでは、マージされたセルを持つテーブルに対してrowCloneを使用すると、関数(rowClone)は隣接行をクローンするので、私は言った、と言った。だから私はあなたが画像1で見ることができるようにテーブルを作ったが、私がスクリプトを実行すると、関数rowCloneは私が期待していた通りに動作しない。 さらに詳しいドキュメントを読むと、blockCloneという別の機能があることに気がつきましたが、私はそれを使用しようとしたときに驚きましたが、どちらも機能しません。誰かがphpWord(https://github.com/PHPOffice/PHPWord)からrowClone、blockCloneの便利な実装を持っていますか?

最後に私はインターネット上で解決策を探し始めましたが、提案するものは何も私を助けませんでしたので、アドバイスやハック、何かコメントがあれば教えてください。前もって感謝します。

Image 1: template (.docx)

Image 2: result after processing the template

答えて

0

私は、ソースコードのバグを発見しました。正規表現中に関数preg_matchが何もマッチしないようにするためのスペースがあります。以下の私は、あなたがそれを修正する方法を示しています。

if (!preg_match('#<w:vMerge/>#', $tmpXmlRow) && 
        !preg_match('#<w:vMerge w:val="continue" />#', $tmpXmlRow)) { 
     break; 
} 

と固定このテコード:

これは元のコードです。

if (!preg_match('#<w:vMerge/>#', $tmpXmlRow) && 
       !preg_match('#<w:vMerge w:val="continue"/>#', $tmpXmlRow)) { 
      break; 
} 

場合は、上記のは、ソースコード内の298と302(https://github.com/PHPOffice/PHPWord/blob/develop/src/PhpWord/TemplateProcessor.php

の間、私はそれはあなたを助けることを願っています!

関連する問題