gpt4 book ai didi

mysql - 如何从 MySQL 数据库实时更新 LibreOffice Calc 单元格?

转载 作者:行者123 更新时间:2023-11-28 23:57:52 26 4
gpt4 key购买 nike

我正在寻找一个程序来使用从 MySQL 数据库中提取的数据实时更新 LibreOffice Calc 中的单元格(或至少在某个固定时间)。理想情况下,当数据库中的值更新时,电子表格中的相应单元格也将更新,以便 calc 中存在的任何公式或计算将继续对新值进行操作。到目前为止,我还没有找到一种以这种方式动态地和编程地插入数据的方法。可能吗?

最佳答案

LibreOffice 组件 Base 是一个处理查询、表单和报告的数据库前端。虽然默认情况下它使用嵌入式版本的 HyperSQL 数据库来管理表,但它带有用于任意数量的其他后端程序(包括 MySQL)的驱动程序。

我认为最简单的方法是创建一个以 MySQL 数据库作为后端的 Base 文件(注意 Base 只能从 MySQL 查看表和 View ——它不会导入查询;虽然如果需要,您可以将查询保存在基本文件中)。确保“注册”基本文件,以便 LibreOffice 的其余部分可以“看到”它。注册文件后,任何打开的 LibreOffice 组件都可以从 MySQL 访问数据(基本文件可以关闭)。

现在您可以将任何表或 View (从 MySQL 组件)或查询(从基本文件)导入 Calc:[Tutorial] Using registered datasources in Calc

可以通过 API 调用刷新导入的数据。这是 StarBasic 代码中的示例:

Sub refresh_DBRanges
Dim oDBRangesEnum
Dim oNext

oDBRangesEnum = thisComponent.DatabaseRanges.createEnumeration()
while oDBRangesEnum.hasMoreElements()
oNext = oDBRangesEnum.nextElement()
oNext.refresh()
wend

End Sub

请注意,在“已注册数据源”教程的第二篇文章中,它提供了 API 调用以在刷新计时器上设置导入范围。

关于mysql - 如何从 MySQL 数据库实时更新 LibreOffice Calc 单元格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31036760/

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