我目前正在嘗試使用PHPWord庫及其模板系統與docx文件一起工作。我發現並更新了某些可以與表處理的庫(不記得名稱,但不重要)路徑(複製其行,然後在每行上使用PHPWord中的標準setValue())。爲什麼Office OpenXML在標籤之間分割文本以及如何防止它?
如果我創建自己的文件,XML中的數據是正常的結構,所以要被替換的變量$ {變量}是在自己的標籤是這樣的:
<w:tbl>
<w:tr>
...
${variable}
</w:tr>
</w:tbl>
我簡化了代碼,在實際的代碼有其他標籤descibing大小,樣式等數量
我的問題是我必須從其他人的過程中,一張空白行的表格。我添加$ {variable}變量並通過PHPWord運行它。問題是,它失敗了。之後做一些研究,我發現,源XML看起來是這樣的:
....
...
${va
...
riab
...
le}
....
(再次大量簡化,但你得到的圖片)
這種結構對我來說是一個問題,因爲功能克隆行使用strpos(),substr()和正則表達式來工作,並不適用於這種結構(我無法想象如此優雅的方式)。
所以問題是 - 有人知道爲什麼docx做到這一點,以及如何防止他?我在尋找通過單詞的解決方案,而不是PHP(我需要電流功能沒有太多的編輯工作)
偉大的,它的工作原理。它完全像你說的。我首先寫了$ {tab1_var#1},然後將其重寫爲$ {tab1_var1}。我永遠不會認爲那會是問題。非常感謝你,你救了我很多麻煩。 (我會定義檢查你的圖書館) – j0hny