【问题标题】:Generate OpenOffice calc files using PHP使用 PHP 生成 OpenOffice 计算文件
【发布时间】:2014-02-12 21:08:07
【问题描述】:

我一直在尝试寻找一种简单的方法来创建 OpenOffice calc 文件,但没有成功。

我试过了:

openTBS - 似乎可以编写 xml 和模板文件,但找不到有关 xml 文件格式的任何信息。

Ods php generator - 我试过这个,因为它提供了清晰的示例,但是当我将文件复制到我的服务器时,我总是得到损坏的文件

Php doc writer - 尝试了一个示例并获得了一个 sxw 文件。我什至不知道那是什么

ODS-PHP - 没有文档,只有一个创建 4 个单元的示例

一切看起来都很陈旧、停滞不前且没有记录。 ¿ 有什么建议吗?

【问题讨论】:

  • 强烈推荐PHPExcel,我相信它也可以读/写OpenOffice,附带丰富的文档-唯一的缺点是,准备增加你的PHPmemory_limit :)
  • 遗憾的是,PHPExcel 还没有编写 Open/Libre Office Calc 文件,尽管它目前正在读取它们......它正在“准备中”;但是除非我可以恢复工作/生活的平衡(或者其他人决定非常慷慨地花费他们的时间和精力),否则可能需要很长时间才能编写 .ods 文件
  • @MarkBaker 啊!那就向你们俩道歉吧!致xzdead为您提供错误信息;对你来说,马克 - 我在 Github 页面上浏览得太快了!好吧,我必须说,尽管您开发了一些很棒的软件,我什至在我工作的公司中每天都在使用它们! (因此,非常感谢您!)
  • 没问题@MackieeE,感谢您的宝贵时间。我已经尝试过 PHPExcel,因为我的想法和你一样。解决方案:生成 xls 而不是 ods :o(

标签: php dynamically-generated openoffice-calc ods


【解决方案1】:

我已经成功使用了opentbs。

您可以生成 excel 和 calc 文件。可以这么说,您可以“重用”您的 html 实现也很好。

也许这个帖子可以让你继续http://www.tinybutstrong.com/forum.php?thr=3069

先做html版本..然后为calc/excel编辑

【讨论】:

    【解决方案2】:

    Spout from Box 对我来说已经足够好了。有一些缺失的功能,但使用简单,API 流畅,没有依赖项(它支持 Composer,但你可以独立使用它,它的依赖关系图深度为零 ?)。

    这是我的“ODS 对象数组”管道,使用 Spout: (我没有使用他们推荐的 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();
    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-27
      • 2017-05-25
      • 2012-10-25
      • 2018-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多