陳 琦,陳 偉
(南京審計學院 管理科學與工程學院,南京 211815)
審計對象的信息化使得審計信息成為必然。傳統的審計主要是針對紙質賬本進行分析,信息化環境下,被審計單位的財務數據和業務數據以電子數據的形式保存。為了完成審計任務,審計人員必須對電子數據進行審計,為了對電子數據進行審計,必須把被審計單位的電子數據采集到審計軟件中來,因此,研究審計數據采集非常重要。本文中,筆者基于Visual C#分析了如何設計與實現審計數據采集方法。
數據采集系統的設計原理為建立的系統是基于ADO.NET框架,采用C#語言編寫而成,預計將不同類別的電子數據采集到VS2008的DataGridView組件中,以進一步實現后期對于數據的分析等步驟。采集的基本思路分析如下:
(1)VS2008的組件DataGridView是一個二維表,由于現在的數據基本上都是采用關系模型建立,所以將數據采集到該組建之中是合適的;DataGridView的第一行作為電子數據的屬性列,剩下的數據一次放入該組建的下行當中。
以某商品數據為例(陳偉,2012),如圖1所示。

圖1 某商品數據的文本格式
采集到審計軟件中或數據庫系統中之后的效果如圖2所示。

圖2 文本數據被采集到審計軟件或數據庫系統后的效果
(2)通過數據集 DataSet將數據采集至 VS2008的組件DataGridView中在ADO.NET框架中,通過使用數據集,可以在本地緩存中表示數據,并且可以為這些數據提供一個關系編程模型,而不必考慮它的來源。數據集在ADO.NET中的對象是DataSet。DataSet可以看成是在應用程序所在計算機內存中邏輯的數據庫,這樣的數據庫同樣可以進行增、刪、改、查操作,并且可以將這些操作傳遞給數據庫服務器來同步DataSet和數據庫中數據的一致性。其過程可簡要描述為:首先在客戶端與數據庫服務器端之間建立連接;然后,客戶端應用程序向數據庫服務器發送數據請求。在數據庫服務器接收到數據請求之后,找出條件符合的數據,發送到之前發數據的客戶端的數據集,此時連接斷開。其原理如圖3所示。
基于以上分析,采用VS2008作為開發工具開發該數據采集系統,所實現的數據采集系統主界面如圖4所示。文本格式數據、Excel數據和Access數據3種數據格式的采集方法等主要功能模塊的代碼設計分別說明如下。
文本文件是一種非常常用的文件格式,因其通用的閱讀方式而經常被用做不同單位的數據交換文件格式。其設計原理說明如下圖4所示。
(1)明確文本數據里面的格式內容,即不同字段是用什么字符區分的,是用“,”還是“;”等符號分割,如圖5所示。

圖5 明確文本數據里面的格式內容
(2)新建StreamReader的聲明來讀取文本內容,用split將文本格式的字符串根據上一步驟的區分符號截斷,使得文本里面的每一行形成一個數組。
(3)初始化DataTable類型,將上一步所得數據依次作為列名賦給DataTable的column中。
(4)新建datarow,將下一行的文本數據按照上面的方式形成數組,賦到datarow的對象當中。
(5)反復執行第4步直到文本都遍歷結束。
Excel數據采集的設計原理說明如下:
(1)利用OleDbConnecton 命令,把“Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=文件路徑”作為其參數。
(2)新建DataTable對象,將OleDbConnecton對象的一個方法GetOleDbSchemaTable賦給datatable對象。
(3)關于Excel表中若干個工作表的處理,方法如下:
①新建comboBox組建來存儲每個工作表的名字,方便查找具體的查找到不同的表。
②對于comboBox的item添加datatable對象的一個屬性Rows[行] ["TABLE_NAME"].tostring()。 代碼下:

其中,comboBox1組件是用來存放導入的Excel的每一個工作表sheet的名字。
Access數據采集的設計和導入Excel數據幾乎一致,具體代碼如下:

其中,comboBox1組件是用來存放導入的Excel的每一個工作表sheet的名字。
本文根據目前開展計算機輔助審計的需要,以文本格式數據、Excel數據和Access數據3種格式的數據為例,研究并實現了如何數據采集,從而為今后開展計算機輔助審計提供了技術支持。當然,數據采集的目的不僅僅只是為了將數據采集出來,而是為了對于被采集的數據進行有效的分析,如上所示,我們將數據采集到了VS2008的組件DataGridView之中,那么對于這些數據,我們在后續工作中即可以在基于DataGridView的組件上進行操作。當然,對于Excel和Access等數據庫的數據,我們在采集的過程之中,也可以直接對Dataset的數據集對象進行分析,比如比較常見的判斷數據的有效性(是否是整數,或是否在某一個范圍之內,或者是否不能為空等),都可以將DataSet對象轉換成DataTable對象,再利用它的Select方法進行簡單快速的分析。
[1]陳偉.計算機輔助審計原理及應用[M].第2版.北京:清華大學出版社,2012.
[2]陳偉,張金城,R Qiu.計算機輔助審計技術(CAATs)研究綜述[J].計算機科學,2007,34(10):290-294.
[3]陳偉,Robin Qiu,劉思峰.一種基于數據匹配技術的審計證據獲取方法[J].計算機科學,2008,35(8):183-187.
[4]國家863計劃審計署課題組.計算機審計數據采集與處理技術研究報告[M].北京:清華大學出版社,2006.
[5]歐陽煒昊.Visual C#2008 原理與系統開發[M].北京:清華大學出版社,2009.
[6]A F Alali,F Pan.Use of Audit Software:Review and Survey [J].Internal Auditing,2011,26(5):29-36.
[7]A J ILambrechts,J E Lourens,P B Millar,et al.Global Technology Audit Guide (GTAG):Data Analysis Technologies[R].The Institute of Internal Auditors,2011.
[8]L B Robert,E D Harold.Computer-assisted Audit Tools and Techniques:Analysis and Perspectives[J].Managerial Auditing Journal,2003,18(9):725-731.