首页 > 解决方案 > Libreoffice Base - Basic - 如何从 csv 文件中获取数据并放入 odb 数据库?

问题描述

我正在尝试在 Libreoffice Basic 中构建一个宏,为表单 csv 文件提供一些记录,并将它们放入 libreoffice 内置的内部数据库中。

我记得这在 MSAccess 中是可能的,但我在 Libreoffice Base 中遇到了一些困难。

以下行可用于创建与内部数据库的连接?

DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")

我发现这些例子

Dim DatabaseContext As Object
Dim DataSource As Object
Dim QueryDefinitions As Object
Dim QueryDefinition As Object
Dim I As Integer
 
DatabaseContext = createUnoService("com.sun.star.sdb.DatabaseContext")
DataSource = DatabaseContext.getByName("Customers")
QueryDefinitions = DataSource.getQueryDefinitions()
 
For I = 0 To QueryDefinitions.Count() - 1
  QueryDefinition = QueryDefinitions(I)
  MsgBox QueryDefinition.Name
Next I

但它似乎没有工作。没有结果。只需找到一种方法将我骑在 csv 文件中的内容放入 DB

标签: libreofficebasebasic

解决方案


可以通过以下步骤来实现

1.打开一个libre基础文件

2.打开你要导入的csv文件

3.复制csv的内容,使用例如ctr+c(如果使用windows操作系统)

4 回到打开的libre基础文件

  1. 单击左侧的表格选项卡

  2. 在表格列表窗格中,右键单击并选择粘贴

  3. 将打开一个向导对话框

  4. 在表名下,输入要存储导入数据的表的名称

  5. 在选项下,选择定义和数据

10 点击底部的下一步

11 您将在左侧看到 CSV 中的列名

  1. 选择要导入的列,然后单击中间的向右箭头按钮,这会将选定的列从左侧移动到右侧

13 点击底部的下一步

14 接下来是保留或更改列名、字段大小等的选项

15 点击底部的创建

16 会提示创建主键字段,选择yes

这就是将所有数据从 CSV 文件导入 libre 基本文件所需的所有步骤


推荐阅读