对于文档交换,我想生成 OpenOffice.org 文本和电子表格文档。到目前为止,我发现需要使用 OLE 安装 OpenOffice 的导出组件。
是否已经有可以为 OpenOffice.org Writer 或 OpenOffice.org Calc 编写本机文件的 Delphi 组件?
对于文档交换,我想生成 OpenOffice.org 文本和电子表格文档。到目前为止,我发现需要使用 OLE 安装 OpenOffice 的导出组件。
是否已经有可以为 OpenOffice.org Writer 或 OpenOffice.org Calc 编写本机文件的 Delphi 组件?
这取决于您的文件有多复杂,以及您要投入多少精力。
OpenOffice.org 文档(从 OO.org 版本 2 开始)是OpenDocument 格式的文件,基本上是具有文档结构的压缩目录,包含各种 XML 和支持文件。例如,您可以使用7-Zip的“Open Inside”命令来像目录一样导航文件。
这至少为您提供了以下选项:
自己写代码输出文档,Delphi流类和压缩支持应该够用了。这显然是最困难的方法,但你会控制一切。
将最少的文档保存为模板文件,并将它们作为外部支持文件甚至作为嵌入式资源添加到您的应用程序中。当需要写入文件时,您复制模板并编辑根目录中的content.xml文件。这应该会容易得多,我可能会用一种方法来创建一个简单的电子表格文件,例如一个包含多张数据表和多列数据的电子表格文件。
如果您已经拥有许可证或不介意付费,FastReport VCL支持“Office 应用程序 (OASIS) 导出、电子表格 (ods) 和文本 (odt) 的开放文档格式”。也许还有其他报告解决方案,但我确信 FastReport 是一个。
FPC/Lazarus 的 fpspreadsheet 组件可以直接写旧的 Excel 格式,OOO 可以打开。如果您需要电子表格而不是文本文档,则可以选择查看是否可以将其移植到 Delphi。
在 Lazarus 中,我使用zexmlss组件导出到 ODS。该组件适用于 lazarus、delphi 和 builder。仅适用于电子表格。公式工作正常。