如何通过API将电子表格(ODS或XLSX)插入文本文档(ODT或DOCX)

时间:2019-04-01 09:06:17

标签: api libreoffice openoffice.org

我有一个文本文档(ODT或DOCX)和一个电子表格(ODS或XLSX)。我使用LibreOffice API(Java)打开此文档。

我想将电子表格作为嵌入对象插入文本文档。我可以手动进行操作(通过GUI LibreOffice Writer-菜单Insert \ Object \ OLE Object),但是我需要通过API进行操作。 附言LibreOffice(OpenOffice)API的官方文档非常少。在这篇非常有趣的文章http://fivedots.coe.psu.ac.th/~ad/jlop/中,找不到此信息。

1 个答案:

答案 0 :(得分:0)

下面的基本代码在https://ask.libreoffice.org/en/question/76781/create-macro-to-insert-and-link-a-ole-spreadsheet/中给出:

Sub oleexample
    oDoc = ThisComponent
    txt=oDoc.getText
    obj = oDoc.createInstance("com.sun.star.text.TextEmbeddedObject")
    obj.CLSID = "47BBB4CB-CE4C-4E80-a591-42d9ae74950f"
    obj.attach(ThisComponent.currentController().Selection.getByIndex(0))
    oXEO = obj.ExtendedControlOverEmbeddedObject
    oXEO.doVerb(0)
End Sub

https://forum.openoffice.org/en/forum/viewtopic.php?f=45&t=14342上还有一个嵌入Math对象的示例。