在PHP中向.docx和.odt插入数据

在PHP中向.docx和.odt插入数据,php,ms-word,openoffice.org,Php,Ms Word,Openoffice.org,我们将数据库中的数据插入word文档(word 2007)。里面有表格,每一组数据都应该放在一个单独的页面上。现在已经很好地满足了我们的需求。但是我们的一些客户使用OpenOffice.org,而PHPWord似乎并没有创建100%正确的Word文档。Word可以处理这些错误,但OpenOffice无法处理。 所以,我的问题是:是否有其他好的PHP库可以创建两个编辑器都可以阅读的文档,或者最好使用Word库和OpenOffice.org库?(对于OpenOffice.org,我会使用)。我更喜欢

我们将数据库中的数据插入word文档(word 2007)。里面有表格,每一组数据都应该放在一个单独的页面上。
现在已经很好地满足了我们的需求。但是我们的一些客户使用OpenOffice.org,而PHPWord似乎并没有创建100%正确的Word文档。Word可以处理这些错误,但OpenOffice无法处理。

所以,我的问题是:是否有其他好的PHP库可以创建两个编辑器都可以阅读的文档,或者最好使用Word库和OpenOffice.org库?(对于OpenOffice.org,我会使用)。我更喜欢使用单个库来创建Word文档。

好的,我们找到了解决方案。我会把它写在这里,以防有人有同样的问题。 OpenOffice.org中的文件格式错误,因为PhpWord使用空格和换行符格式化xml。Word会删除这些行并显示文档的应有状态,但OOo会为文档中显示的xml文档中的每个换行插入一个换行符。更改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('');