EXCEL连接openGauss实操

时间:2023-03-22 17:07:38

前言

互联网是个快节奏的时代,不懂得运用工具,将时间浪费在琐碎的事务中,将会极大的影响工作效率。 例如我们在工作中处理表格和数据时会经常用到Excel。基于此,本文将简单介绍一下Excel 连接openGauss数据库的两种方式,欢迎交流。

一、通过excel 添加数据源访问openGauss

1、 查看 Excel版本

打开 Excel程序 文件 ——账户——关于excel,如截图。

EXCEL连接openGauss实操

2、下载 ODBC驱动

用户可以在华为云管理控制台下载 GaussDB(DWS) 提供ODBC驱动程序 也可以使用开源的 ODBC驱动程序

1)  登录 华为云管理控制台 ——在控制台左边列表,单机服务列表——大数据——数据仓库服务 GaussDB(DWS)

2)  在左侧导航栏中,单击 “连接管理”。

3 “下载驱动程序”区域,选择一个驱动下载。

EXCEL连接openGauss实操

ODBC驱动 : 选择相应的版本,然后单击 “下载”可以下载与集群版本匹配的ODBC驱动。 单击 “历史版本”可根据操作系统和集群版本下载相应版本的ODBC驱动,建议按集群版本进行下载。

 

本次测试下载的是   “Microsoft Windows x86_64”驱动 其支持在以下系统中使用:

Ø  Windows 7及以上。

Ø  Windows Server 2008及以上。

特别说明 Windows驱动只支持32位版本,可以在32或64位操作系统使用,但是应用程序必须为32位。

3、安装O DBC驱动

将下载的 O DBC驱动解压 选则 3 2位的进行安装

EXCEL连接openGauss实操
EXCEL连接openGauss实操

安装过程 以管理员身份运行,然后一路点 N ext”,直到 Finish 即可

EXCEL连接openGauss实操

4、添加ODBC数据源

依次打开 控制面板 -管理工具-ODBC Data Sources (32-bit)

EXCEL连接openGauss实操

点击右边的添加按钮,找到 PostgreSQL Unicode,双击 填写连接信息 (如下截图) ,点击 Test

EXCEL连接openGauss实操

提示成功后 ,点击 保存 S ave)。

EXCEL连接openGauss实操

5、在excel中添加数据源(访问openGauss)

依次点击 数据 —— 其他来源 —— 来自数据连接向导

EXCEL连接openGauss实操

选择 “O DBC DSN

EXCEL连接openGauss实操

选择数据库和表

EXCEL连接openGauss实操

EXCEL连接openGauss实操

“完成”,进到导入数据界面

EXCEL连接openGauss实操

属性 ” 按钮,进入“使用状况”选项卡,可设置数据刷新的规则。

EXCEL连接openGauss实操

进入 “定义”选项卡,可进行编辑,获取相应的数据:

EXCEL连接openGauss实操

二、通过excel 的VBA(宏)访问openGauss

1、宏权限设置

打开 excel 程序 进入文件 ——选项—— 信任中心 —— 信任中心设置

Ø  起启用所有宏

Ø  信任对 V BA工程对象模型的访问

EXCEL连接openGauss实操

2、添加“开发工具”

打开 excel 程序 进入文件 ——选项——自定义功能区

选择 “开发工具” 打√。

EXCEL连接openGauss实操

3、创建按钮事件,访问openGauss

添加 “连接openGauss” 按钮, 通过如下截图过程进入宏的编辑界面

EXCEL连接openGauss实操

EXCEL连接openGauss实操

EXCEL连接openGauss实操

编写 Vba脚本,访问openGauss数据库:

EXCEL连接openGauss实操

4 附代码说明 Vba)

Sub 连接openGauss()
 
 
Dim cn As Object    '定义数据链接对象 ,保存连接数据库信息
Dim rs As Object    '定义记录集对象,保存数据表
 
Set cn = CreateObject("ADODB.Connection")  '创建数据链接对象
Set rs = CreateObject("ADODB.RecordSet")  '创建记录集对象,用于接收数据查询获得的结果集
 
Dim strCn As String '字符串变量
Dim strSQL As String '字符串变量
 
strCn = "DSN=openGauss;DATABASE=postgres;SERVER=192.168.52.3;PORT=26000;UID=omm2;SSLmode=disable;ReadOnly=0"  '定义数据库链接字符串
 
 
strSQL = "SELECT id,name,age,address,salary FROM company1"    '设置SQL语句
 
cn.Open strCn '打开连接
 
rs.Open strSQL, cn   '读取数据库中的数据
 
Dim i As Integer, sht As Worksheet   'i为整数变量;sht 为excel工作表对象变量,指向某一工作表
 
i = 1
 
Set sht = ThisWorkbook.Worksheets("Sheet2")
 
'循环读取数据并将数据显示到excel中
 
Do While Not rs.EOF     '当数据指针未移到记录集末尾时,循环下列操作
 
    sht.Cells(i, 1) = rs("id")    '把当前记录的字段1的值保存到sheet1工作表的第i行第1列
 
    sht.Cells(i, 2) = rs("name")    '把当前字段2的值保存到sheet1工作表的第i行第2列
 
    sht.Cells(i, 3) = rs("age")    '把当前字段3的值保存到sheet1工作表的第i行第3列
    
    sht.Cells(i, 4) = rs("address")    '把当前字段4的值保存到sheet1工作表的第i行第4列
    
    sht.Cells(i, 5) = rs("salary")    '把当前字段5的值保存到sheet1工作表的第i行第5列
 
    rs.MoveNext                      '把指针移向下一条记录
 
    i = i + 1                        'i加1,准备把下一记录相关字段的值保存到工作表的下一行
 
Loop                                 '循环
 
rs.Close   '关闭记录集,至此,程序将把某数据表的字段1和字段2保存在excel工作表sheet1的第1、2列,行数等于数据表的记录数
 
 
 
 
End Sub

三、Excel 访问openGauss数据库 应用场景举例

1、实现自动化实时监控相关数据,例如:跑批作业状态表、某项实时数据阈值监测等。

2、实现自动化业务报表展示等。