用excel打造報表查詢系統


網絡數據庫以及ERP在中小型企業中日益風行,雖然ERP功能強大,但有的ERP報表系統中規范的報表較少,主要提供二次開發接口或通過如CRYSTALREPORT等其他報表工具進行管理,其實我們可以使用Excel實現部分報表查詢功能。在下面我將通過一個實例,向大家介紹如何通過ODBC,用Excel建立方便的報表查詢系統。
  實現原理:通過ODBC將Excel與ERP后台數據庫連接起來,將數據庫中的數據有選擇地導入到Excel中,然后通過Excel強大的計算、匯總、篩選等功能,來彌補部分ERP系統報表較少的不足,以滿足用戶日常使用的需要。
  [建立ODBC連接]
  在電腦上建立一個ODBC連接,使Excel通過ODBC連接到ERP數據庫(如SQLSERVER數據庫)。打開“開始→設置→控制面板→管理工具→ODBC”,點擊“添加”按鈕。這里以SQLSERVER為例,選擇“SQLSERVER”,點擊“完成”。接下來對話框的服務器一項應填寫公司ERP數據庫所在機器的機器名或IP地址,點擊“下一步”按鈕。
  身份驗證分為兩種方式:一種是與操作系統相結合的身份驗證,另一種是使用單獨的SQL身份驗證。在這里選取單獨的SQL身份驗證,登錄名及密碼請咨詢公司的數據庫管理員,然后點擊“下一步”。
  在接下來的對話框中,勾選“更改默認的數據庫為”,在下面填入數據庫名,點擊“下一步”按鈕。然后點擊“測試數據源”按鈕以測試本機與ERP數據庫的連接情況,如果見到測試成功提示說明ODBC設置成功。
  小貼士:ODBC(開放式數據庫連接)是一種數據庫接口技術,它能使應用程序訪問以結構化查詢語言(SQL)作為數據訪問標准的數據庫管理系統的數據。
  [將數據導入Excel]
  打開Excel的“數據”菜單,點擊“導入外部數據→新建數據庫查詢”,在選擇數據源對話框中選擇剛剛建立的ODBC連接,點擊“確定”按鈕。
  進入查詢向導界面,選擇你需要的表及字段,雙擊即可。表和字段的定義請查詢相關ERP的文檔或咨詢數據庫管理員。
  將選擇的字段按你所需要的順序排列(多張表之間的連接將在以后提及),點擊“下一步”。如果需要篩選數據,請在篩選數據對話框中輸入過濾條件,點擊“下一步”。
  如果需要查詢的數據全部在一張表中,可以在完成對話框中選擇直接將數據返回到Excel,如果數據存在於多張表中,需要進行表與表之間的連接或進行更復雜的篩選、匯總操作,選擇“在MicrosoftQuery中查看數據或編輯查詢”,點擊“完成”。
  在Query中,可以進行表與表之間的連接,條件的過濾、格式的定義、排序、匯總等等,如果對SQL語言比較了解的人可以直接修改SQL語句。
  然后選擇“將數據返回Excel”,將源數據庫中的數據導入到Excel。這時將出現“外部數據”工具欄。如果需要將Excel中的數據與數據庫同步,點擊“刷新數據”即可。如果需要編輯剛剛建立的查詢,點擊“編輯查詢”進行編輯。
  為了方便每次自動刷新,點擊“區域屬性”,在彈出的對話框中勾選“打開工作簿時自動刷新”,這樣在每次打開Excel文件時得到的就是與源數據庫同步的數據了。
  小貼士MicrosoftQuery是用於將數據從外部數據源(包括Access、SQLServer、Excel、文本文件)檢索到Excel中的一種程序,在每次更新數據庫時,自動通過源數據庫中的數據來更新Excel報表和匯總數據。形象地說就是向外部數據庫提出的一個問題。
  [建立屬於自己的查詢]
  通過以上兩個步驟,你已經得到了與源數據庫同步的數據,下一步就是根據自己的需要,在Excel中建立自己的查詢。一般的方法是在數據源工作簿之外新建一個工作簿,通過連接的方式,將數據按自己的格式建立自己的查詢。
  下面將介紹一下數據透視表。數據透視表是一種交互式報表,可快速合並和比較大量數據。在你得到大量源數據后,用數據透視表可以進行自動匯總、自動刷新。
  點擊“數據→數據透視表”,選取“數據列表和數據庫”和“數據透視表”,點擊“下一步”。
  為數據透視表新建一個工作表,點擊步驟3對話框的“布局”按鈕。將匯總的項目(如部件號)放置在“行”,將要求和的字段放置在“數據”中,點擊“確定”然后點擊“完成”,即可得到匯總數據。同樣地將該數據透視表設置為打開時自動刷新。這樣每次打開Excel時就得到了最新的匯總數據。
  [總結]
  先建立ODBC,然后通過導入外部數據將源數據庫的數據導入,最后通過函數或數據透視表等方法對數據進行組織,以達到自己查詢的目的。以上介紹的方法不光可以用在ERP后台數據庫的前台查詢中,也可以從桌面數據庫ACCESS或其它的數據源中導入數據到Excel,建立屬於自己的查詢。

 

注明:內容轉載自http://www.233.com/cy/zhidao/diansuanhua/20090604/081403318.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM