在 Python 中定义一个 LibreOffice Calc 自定义函数

Posted

技术标签:

【中文标题】在 Python 中定义一个 LibreOffice Calc 自定义函数【英文标题】:Define a LibreOffice Calc custom function in Python 【发布时间】:2018-06-10 15:58:00 【问题描述】:

我正在 LibreOffice Calc 中编写自定义函数。 此类函数必须在 Calc 中调用,就好像它们是本机的一样 函数,

例如如EDATE()DAYS()等。

到目前为止,我为每个自定义函数所做的是:

    定义 Python 函数 定义一个调用其 Python 对应对象的 StarBasic 函数 从 Calc 中调用 StarBasic 函数。

可以,但是每个函数都写是很不切实际的 用两种语言。

我的问题是:是否可以编写这样的函数 直接在 Python 中?你有什么参考可以分享吗?

【问题讨论】:

【参考方案1】:

Calc 插件是一个完整的解决方案,具有基本用户定义函数无法提供的工具提示弹出窗口等功能。

这比编写 Basic-Python 桥接调用需要更多的努力。但是,由于您要编写许多函数,因此可能不会有太多额外的工作,因为它们都可以放入一个 .oxt 文件中。

我在https://ask.libreoffice.org/en/question/133794/how-to-use-develop-addins-in-calc/?answer=133870#post-id-133870 的回答中提供了所需文件的示例。

其他示例和文档:

https://forum.openoffice.org/en/forum/viewtopic.php?f=20&t=83856 https://ask.libreoffice.org/en/question/10219/writing-user-defined-functions-in-python/ How can I call a Python macro in a cell formula in OpenOffice.Org Calc?

如果您尝试过并需要帮助,请编辑问题。或者在ask.libreoffice.org 上发布一些内容,只要您至少有一点声望,就可以发送附件。

【讨论】:

以上是关于在 Python 中定义一个 LibreOffice Calc 自定义函数的主要内容,如果未能解决你的问题,请参考以下文章

ubuntu 16.04卸载不必要默认安装软件

CentOS安装LibreOffice

redhat下libreoffice 的安装

在Python中定义Main函数

在 Python 中定义一个 LibreOffice Calc 自定义函数

python中怎么在自定义函数调用另外一个函数中的参数