前言
Excel 仍是企業數據分析最普及工具。透過 MyODBC 驅動,Excel 可直接連接 MySQL、PostgreSQL、Oracle 等主流資料庫,實現即時數據刷新、樞紐分析與圖表視覺化。本文以 MySQL 為例,完整示範安裝、配置與連接流程。
前置準備
- MySQL 伺服器已運行,防火牆開放 3306 port
- 具備資料庫讀取權限的帳號
- Windows 作業系統
步驟 1:下載並安裝 MyODBC
- 下載:MySQL Connector/ODBC (約 2-3 MB)
- 執行安裝,選擇「典型安裝」即可
- 完成後系統將註冊 ODBC 驅動
步驟 2:配置 ODBC 資料來源 (DSN)
- 開啟 ODBC 資料來源管理員:
- Windows 10/11:開始 → 輸入「ODBC」 → 「ODBC 資料來源 (32 位元/64 位元)」
- 控制台 → 系統與安全性 → 管理工具 → ODBC 資料來源
- 切換到 系統 DSN 或 使用者 DSN 索引標籤 → 新增
- 選擇 MySQL ODBC 8.0 Unicode Driver (或對應版本) → 完成
- 填寫連線參數:
| 欄位 | 範例值 | 說明 |
| Data Source Name | MySQL_Contacts | 自訂 DSN 名稱 |
| Description | Contacts DB | 描述 |
| TCP/IP Server | localhost / 192.168.1.100 | 伺服器 IP,本機可用 . (命名管道) |
| Port | 3306 | 預設連接埠 |
| User | excel_user | 資料庫帳號 |
| Password | ****** | 密碼 |
| Database | contacts | 預設資料庫 (可留空) |
- 點擊 測試 → 顯示「連線成功」 → 確定
步驟 3:Excel 匯入 MySQL 數據
- 開啟 Excel → 資料 索引標籤 → 取得資料 → 從其他來源 → 從 ODBC
- 選擇剛建立的 DSN (MySQL_Contacts) → 確定
- 導覽器選擇資料表/檢視表 (如
contacts) → 載入
- 選擇載入至:現有工作表 / 新工作表 / 僅建立連線 → 確定
範例資料表結構
CREATE TABLE contacts (
rowid SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
firstname VARCHAR(20) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(55) NOT NULL,
title VARCHAR(20) NOT NULL,
company VARCHAR(30) NOT NULL,
phone CHAR(10) NOT NULL,
revenue DECIMAL(5,2) NOT NULL,
PRIMARY KEY (rowid)
);
進階應用
- 樞紐分析: 插入 → 樞紐分析表,拖曳欄位快速統計
- 圖表視覺化: 依收益、區域、職稱繪製圓餅圖、長條圖
- 跨表查詢: 資料庫建立
VIEW,Excel 連接 View 即可
- 自動重新整理: 資料 → 查詢與連線 → 內容 → 設定重新整理間隔
常見問題排查
| 問題 | 原因 | 解決 |
| 測試連線失敗 | 防火牆阻擋 3306 / bind-address=127.0.0.1 | 開放 port、修改 my.cnf bind-address=0.0.0.0 |
| 架構不符 (32/64 位元) | Excel 32 位元需 32 位元 ODBC 驅動 | 安裝對應位元版 MyODBC |
| 中文亂碼 | 字元集不一致 | DSN 進階設定指定 charset=utf8mb4 |
| 權限不足 | 帳號缺乏 SELECT 權限 | GRANT SELECT ON db.* TO 'user'@'%' |
總結
Excel + MyODBC 打通「試算表分析」與「關聯式資料庫」的最後一哩路。掌握此技能,讓業務人員脫離 IT 依賴,自助完成數據探索與報表產出。
- 上一篇文章: Digg 從 MySQL 遷移至 Cassandra NoSQL 架構的技術考量
- 下一篇文章: MySQL 預存程序 (Stored Procedure) 建立、呼叫與管理實戰
Copyright ©
程式碼之家 All Rights Reserved