从Delphi导出列表到OpenOffice Calc

时间:2011-04-20 14:46:51

标签: delphi automation delphi-7 openoffice.org openoffice-calc

我正在使用Delphi 7,我想使用自动化将我的程序列表的内容导出到OpenOffice Calc,而不是使用文件。

任务很简单:创建新文档,遍历行/列并更改单元格数据。

我找到了一些代码,但它并不完整,我希望有人准备好一些示例代码来完成这个非常简单的任务。它可以节省我几个小时的尝试。

提前致谢!


编辑:我想自动化OpenOffice Calc来实现我上面写的内容。谢谢!

2 个答案:

答案 0 :(得分:2)

最简单的解决方案是编写CSV文件输出,并在OpenOffice中打开它。

还有一些库可以编写.XLS文件,OpenOffice Calc和Excel都可以读取这些文件。 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)
   ...

答案 1 :(得分:2)

Open Office支持自动化

请参阅:http://udk.openoffice.org/common/man/tutorial/office_automation.html

Delphi的Open Office信息可在以下位置找到:
http://development.openoffice.org/#OLE

网站ooomacros.org似乎已经失败了,幸运的是,回归机器仍有副本:
http://replay.web.archive.org/20090608051118/http://www.ooomacros.org/dev.php

祝你好运。