我正在使用Delphi 7,我想使用自动化将我的程序列表的内容导出到OpenOffice Calc,而不是使用文件。
任务很简单:创建新文档,遍历行/列并更改单元格数据。
我找到了一些代码,但它并不完整,我希望有人准备好一些示例代码来完成这个非常简单的任务。它可以节省我几个小时的尝试。
提前致谢!
编辑:我想自动化OpenOffice Calc来实现我上面写的内容。谢谢!
答案 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