gpt4 book ai didi

python - 如何通过 pyuno 在 LibreOffice calc 中提取当前选定的单元格范围?

转载 作者:行者123 更新时间:2023-12-05 02:22:33 25 4
gpt4 key购买 nike

在 LibreOffice/OpenOffice calc python 宏中使用 pyuno 时,我希望能够简单地选择一系列单元格,并且当宏运行时,所有单元格数据(例如作为一些可迭代对象)到能够在 python 脚本中检索,以便可以对其进行操作。我几乎找不到任何关于此的文档,并且欢迎提供一些示例代码来演示如何执行此操作。

最佳答案

经过非常痛苦的试验和错误时间(由于在任何地方使用 pyuno 的文档和示例都很少——如果我忽略了什么,请纠正我),我最终得到了以下代码,它似乎做了我想做的事情之后:

import uno
doc = XSCRIPTCONTEXT.getDocument()

def mymodule():
ctrlr = doc.CurrentController
sel = ctrlr.getSelection()
x = sel.getDataArray()
# now the data is available as nested tuples in x, so do something with it
file('/tmp/out', 'w').write(repr(x))

这可以放入 python 文件中,并存储(至少在 Ubuntu 14.04 中)在 ~/.config/libreoffice/4/user/Scripts/python 目录中,然后只要安装 libreoffice-script-provider-python 包后,可以通过 Tools->Macros->Run Macro 菜单选项从 LibreOffice Calc 中运行它。或者可以使用工具->自定义->键盘对话框将其绑定(bind)到键盘快捷键。

有关允许将数据从 LibreOffice Calc 加载到 Octave 以进行进一步分析的更完整示例,请参阅 this pyuno script .

关于python - 如何通过 pyuno 在 LibreOffice calc 中提取当前选定的单元格范围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28593278/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com