【问题标题】:Insert data to .docx and .odt in PHP在 PHP 中将数据插入到 .docx 和 .odt
【发布时间】:2011-10-07 11:32:07
【问题描述】:
我们将数据库中的数据插入到 word 文档 (Word 2007) 中。里面有表格,每组数据都应该在一个单独的页面上。
现在PHPWord 很好地满足了我们的需求。但是我们的一些客户使用 OpenOffice.org,而 PHPWord 似乎无法创建 100% 正确的 Word 文档。 Word 可以处理这些错误,但 OpenOffice 不能。
所以,我的问题是:是否有任何其他优秀的 PHP 库可以创建编辑器都可以阅读的文档,还是更好地为 Word 使用一个库,为 OpenOffice.org 使用另一个库? (对于 OpenOffice.org,我会使用 http://www.odtphp.com/)。我更喜欢使用创建 Word 文档的单个库。
【问题讨论】:
标签:
php
ms-word
openoffice.org
【解决方案1】:
好的,我们找到了解决方案。我会把它写在这里以防万一有人遇到同样的问题。
这些文件在 OpenOffice.org 中格式错误,因为 PhpWord 使用空格和换行符格式化 xml。 Word 会删除此行并显示文档的应有状态,但 OOo 会为文档中显示的 xml-doc 中的每个换行符插入一个换行符。更改 Shared/XMLWriter.php 中的第 79 行和第 84 行就可以了。
// Set default values
// proposed to be false in production version
$this->_xmlWriter->setIndent(true);
//$this->_xmlWriter->setIndent(false);
// Set indent
// proposed to be '' in production version
$this->_xmlWriter->setIndentString(' ');
//$this->_xmlWriter->setIndentString('');