是否有适用于 Delphi(非 OLE)的 OpenOffice.org 导出组件?

Posted

技术标签:

【中文标题】是否有适用于 Delphi(非 OLE)的 OpenOffice.org 导出组件?【英文标题】:Are there OpenOffice.org export components for Delphi (non-OLE)? 【发布时间】:2010-10-28 05:26:00 【问题描述】:

对于文档交换,我想生成 OpenOffice.org 文本和电子表格文档。到目前为止,我发现需要使用 OLE 安装 OpenOffice 的导出组件。

是否已经有可以为 OpenOffice.org Writer 或 OpenOffice.org Calc 编写本机文件的 Delphi 组件?

【问题讨论】:

【参考方案1】:

这取决于您的文件有多复杂,以及您要投入多少精力。

OpenOffice.org 文档(从 OO.org 版本 2 开始)是 OpenDocument Format 中的文件,基本上是具有文档结构的压缩目录,包含各种 XML 和支持文件。例如,您可以使用 7-Zip 的“打开内部”命令来像目录一样导航文件。

这至少为您提供了以下选项:

自己写代码输出文档,Delphi流类和压缩支持应该够用了。这显然是最困难的方法,但您可以掌控一切。

将最少的文档保存为模板文件,并将它们作为外部支持文件甚至嵌入资源添加到您的应用程序中。当需要写入文件时,您复制模板并编辑根目录中的 content.xml 文件。这应该会容易得多,我可能会用这种方法来创建一个简单的电子表格文件,例如包含多张数据表和多列数据。

如果您已经拥有许可证或不介意付费,FastReport VCL 支持“Office 应用程序 (OASIS) 导出、电子表格 (ods) 和文本 (odt) 的开放文档格式”。也许还有其他报告解决方案,但我确信 FastReport 是一个。

【讨论】:

【参考方案2】:

FPC/Lazarus 的 fpspreadsheet 组件可以直接写旧的 Excel 格式,OOO 可以打开。如果您需要电子表格而不是文本文档,则可以选择查看是否可以将其移植到 Delphi。

【讨论】:

【参考方案3】:

在 Lazarus 中,我使用 zexmlss 组件导出到 ODS。该组件适用于 lazarus、delphi 和 builder。仅适用于电子表格。公式运行良好。

【讨论】:

以上是关于是否有适用于 Delphi(非 OLE)的 OpenOffice.org 导出组件?的主要内容,如果未能解决你的问题,请参考以下文章

适用于 Windows 7 的 Delphi/Paradox 数据库桌面 DBD32.exe 设置

如何在 Delphi 的 OLE 自动化过程中使 Word 不可见

是否有适用于 iPhone 应用程序的非采样时间分析工具?

OLE 自动化 - WORD 表格 (Delphi)

是否有适用于类组件的 React Material-UI makeStyles() 函数的非挂钩替代方案

Delphi - OLE类实现TTS方式语音朗读