我一直试图找到一种创建OpenOffice calc文件的简单方法,但没有成功。
我试过了:
openTBS - 似乎可以编写xml和模板文件但无法找到有关xml文件格式的方法。
Ods php generator - 我尝试了这个,因为它提供了明确的示例,但是当我将文件复制到我的服务器时,我总是会收到损坏的文件
Php doc writer - 尝试了一个例子,得到了一个sxw文件。我甚至都不知道那是什么
ODS-PHP - 没有文档,只有一个创建4个单元格的例子
一切看起来都陈旧,停滞不前,没有记录。 ¿有什么建议吗?
答案 0 :(得分:1)
我成功使用了opentbs。
您可以生成excel和calc文件。你也可以“重用”你的html实现,这也很好。
也许这个帖子可以让你去http://www.tinybutstrong.com/forum.php?thr=3069
首先执行html版本..然后编辑calc / excel
答案 1 :(得分:0)
Spout from Box对我来说足够好。有一些缺失的功能,但是使用起来简单,API流畅并且没有依赖关系(它支持composer,但您可以独立使用它,并且依赖关系图的深度为depth)。
这是我使用Spout的“对象到ODS的对象数组”管道:
(我没有使用他们推荐的use
导入,因为所有这些代码都适合一个我不想污染的更大文件,并且无论如何$factory
模式对我来说看起来都更干净)
$factory = 'Box\Spout\Writer\Common\Creator\WriterEntityFactory';
$factory::createODSWriter()
->openToBrowser('filename.ods')
->addRow($factory::createRow([
$factory::createCell(__('Heading 1')),
$factory::createCell(__('Heading 2')),
$factory::createCell(__('Heading 3')),
]))
->addRows(array_map(function($row) use ($factory) {
return $factory::createRow([
$factory::createCell($row->first_val),
$factory::createCell($row->second_val),
$factory::createCell($row->third_val),
]);
}, loadDataFromSomewhere()))
->close();