我正在使用 Delphi 7,我想使用自动化而不是使用文件将列表的内容从我的程序导出到 OpenOffice Calc。
任务很简单:创建新文档,遍历行/列并更改单元格数据。
我找到了一些代码,但它并不完整,我希望有人准备好一些示例代码来完成这个非常简单的任务。它可以节省我几个小时的尝试时间。
提前致谢!
编辑:我想自动化 OpenOffice Calc 来实现我上面写的。谢谢!
我正在使用 Delphi 7,我想使用自动化而不是使用文件将列表的内容从我的程序导出到 OpenOffice Calc。
任务很简单:创建新文档,遍历行/列并更改单元格数据。
我找到了一些代码,但它并不完整,我希望有人准备好一些示例代码来完成这个非常简单的任务。它可以节省我几个小时的尝试时间。
提前致谢!
编辑:我想自动化 OpenOffice Calc 来实现我上面写的。谢谢!
最简单的解决方案是编写 CSV 文件输出,然后在 OpenOffice 中打开它。
还有一些库可以编写 OpenOffice Calc 和 Excel 都可以读取的 .XLS 文件。CSV 很简单,不知道你需要一个例子。创建一个 TStringList,并以逗号分隔的格式向其中添加字符串。保存到文件。
所谓的“程序化”方法涉及 OLE 自动化。
uses
OleAuto;
var
mgr,calc,sheets,sheet1,dt,args:Variant;
begin
args = VarArrayCreate(...);
mgr := CreateOleObject('com.sun.star.ServiceManager');
dt := mgr.createInstance('com.sun.star.frame.Desktop')
calc = dt.loadComponentFromURL('private:factory/scalc', '_blank', 0, args)
sheets = calc.getSheets()
sheet1 = sheets.getByIndex(0)
...
Open Office 支持自动化
见:http ://udk.openoffice.org/common/man/tutorial/office_automation.html
可以在以下位置找到 Delphi 的 Open Office 信息:http:
//development.openoffice.org/#OLE
该站点 ooomacros.org 似乎已关闭,幸运的是,wayback 机器仍然有一个副本:
http ://replay.web.archive.org/20090608051118/http://www.ooomacros.org/dev.php
祝你好运。