在WPS表格裏製作連接到openGauss的實時刷新報表

語言: CN / TW / HK

前言

其實我的數據庫啟蒙,是在一家甲方公司。
當時一進這家公司,就見到了通過連接數據庫自動刷新的excel表。當時學會了這招就一發不可收拾,製作出各種自動刷新的報表。
想象一下,有些高管不喜歡打開各種複雜的業務系統或者報表系統,一上班就直接打開桌面上的可刷新表格文件,就能看到昨日的報表數據以及今日的實時數據。
當年智能手機還未普及,沒有移動端報表,每晚的值班經理需要查詢當日數據編輯短信發送給高管,也是在電腦上用EXCEL直接刷出數據,而且提前在EXCEL裏寫好了公式,拼接成了短信文本內容,複製粘貼到飛信就把業績短信發出去了,多少年來一直都是這麼用的,只是後來改成了粘貼到微信發送。

在當時,這也算是極低成本的半自動化了,好不愜意!

當時連接的主要是Oracle數據庫,現在突然想起,是不是我們的國產數據庫也可以這樣連接呢?

原理

其實原理很簡單,就是在windows的odbc數據源中配置好對應的數據庫連接,然後在excel或者wps表格中選擇導入數據/odbc數據源,選擇需要的表及字段,或者直接寫個sql查詢也行,就可以把數據返回到表格中。當數據庫中的數據發生變化時,只需要在表格中點擊刷新或者或者設置刷新頻率即可

步驟

安裝ODBC驅動

windows端ODBC驅動下載(支持sha256) http://obs.myhuaweicloud.com/dws/download/dws_8.1.x_odbc_driver_for_windows.zip

下載好後,解壓,根據使用的wps或msoffice是64位還是32位版本,執行對應的安裝程序(目測大多數人安裝的都是32位版本),一路“next”就行了。
不知道自己安裝的是32還是64位的,可以把程序打開,到任務管理器裏找到對應的程序,會有顯示
image-1668874050903

添加ODBC數據源

  1. 依次打開
    控制面板-管理工具-ODBC Data Sources (32-bit)
    image-1668874143580
  2. 點擊右邊的添加按鈕,找到 PostgreSQL Unicode,雙擊
    image-1668874242003
  3. 然後填寫連接信息,並點擊Test
  4. 提示連接成功,確定,點擊SAVE保存,會彈出安全提示,意思就是連接信息會保存在系統註冊表裏,不安全,問是否繼續,點"是"(本篇不討論安全問題,請自行斟酌)
    image-1668874472622
  5. 然後就可以看到數據源裏多了一個剛剛新建的數據源
    image-1668874765760

在WPS中引用數據源

  1. 新建一個空白表格
  2. 點擊 數據 - 導入數據,選擇ODBC DSN
    image-1668874917682
  3. 選擇剛剛新建的數據源,確定,下一步
    image-1668874959657
  4. 選擇需要的表,並將需要的字段移到右邊,點擊下一步
    image-1668875300934
  5. 選擇手工輸入連接語句,點擊下一步
    image-1668875424131
  6. 預覽沒有問題,點擊完成
    image-1668875476891
  7. 選擇數據需要存放的開始單元格,點擊確定
    image-1668875523076
  8. 數據就放回到表格中了
    image-1668875560923

驗證數據刷新

  1. 在數據庫中執行sql修改數據,比如讓所有人的工資翻倍

update scott.emp set sal=sal*2 where 1=1;

image-1668875774103
windows端gsql下載 (支持sha256)http://obs.myhuaweicloud.com/dws/download/dws_8.1.x_gsql_for_windows.zip
2. 在表格數據區域點擊鼠標右鍵,刷新數據
image-1668875838278
3. 可以看到數據都變更了
image-1668875866935

配置數據自動刷新

  1. 在表格數據區域點擊鼠標右鍵,點擊數據區域屬性
    image-1668875958517
  2. 設置刷新頻率,並勾選打開文件時刷新數據
    image-1668876065494

總結

本篇只舉了個最簡單的例子,實際上,新建多個查詢,結合表格的公式,並調整表格的樣式,是可以製作出相當精美的報表的,而且只用做一次,以後一直都能用,數據都是可以實時從數據庫中獲取的。
另外,以上操作在MSOFFICE中的EXCEL也是類似的,只是EXCEL還有個MSQUERY的程序,可以可視化編輯多表的關聯關係,有興趣的可以自己嘗試一下。

 作者:DarkAthena

openGauss是一款開源關係型數據庫管理系統,採用木蘭寬鬆許可證v2發行。openGauss內核深度融合華為在數據庫領域多年的經驗,結合企業級場景需求,持續構建競爭力特性。