在 PHP 中将数据插入到 .docx 和 .odt
Posted
技术标签:
【中文标题】在 PHP 中将数据插入到 .docx 和 .odt【英文标题】:Insert data to .docx and .odt in PHP 【发布时间】: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 文档的单个库。
【问题讨论】:
【参考方案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('');
【讨论】:
以上是关于在 PHP 中将数据插入到 .docx 和 .odt的主要内容,如果未能解决你的问题,请参考以下文章