陳忠菊
摘 要:該文基于C#.NET以某燃?xì)夤矩攧?wù)對賬為實例進(jìn)行了該公司對賬系統(tǒng)設(shè)計和開發(fā),對Excel格式對賬單的數(shù)據(jù)導(dǎo)入到該系統(tǒng)控件的現(xiàn)實操作進(jìn)行了研究,并可以把對賬結(jié)果的數(shù)據(jù)保存與新的Excel 表里,用紙質(zhì)賬單進(jìn)行一對一的傳統(tǒng)對賬模式[2]。該文研究的目的就是為解決某燃?xì)夤矩攧?wù)部門的對賬工作量比較大以及工作效率比較低,加快對賬速度,實現(xiàn)財務(wù)工作計算機(jī)化,從而降低對賬發(fā)生錯誤的風(fēng)險,在文中設(shè)計并開發(fā)了基于C#.NET的對賬系統(tǒng)以完成公司中的銀企對賬。
關(guān)鍵詞:C#.NET 對賬系統(tǒng) 對賬速度 財務(wù)工作 計算機(jī)化
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1674-098X(2015)02(a)-0066-01
1 系統(tǒng)的設(shè)計思想
1.1 對賬系統(tǒng)的界面設(shè)計
在系統(tǒng)的窗體中放置的.NET基礎(chǔ)類的DataGridView控件為五個,這五個分別被用來對賬單1的賬單內(nèi)容、對賬單2的賬單內(nèi)容、對賬單可以匹配上的賬單內(nèi)容、對賬單1上不能匹配上的內(nèi)容以及對賬單2上不能匹配上的內(nèi)容進(jìn)行顯示。同時在窗體的下面還設(shè)置有幾個相關(guān)的附加功能,這些附加內(nèi)容分別包括有對賬單1和對賬單2的條目數(shù)量、對賬單1金額總額、對賬單2金額總額、對賬單1和對賬單2條目相差數(shù)、對賬單1和對賬單2的相差金額、對賬單1條目以及對賬單2條目匹配不上的數(shù)量。
1.2 對賬系統(tǒng)的操作步驟
首先點擊打開按鈕,如圖2選擇Excel的表單內(nèi)容。其次當(dāng)選擇好對賬表單以后,把對對賬單1里的內(nèi)容立刻導(dǎo)入進(jìn)對賬系統(tǒng)界面內(nèi)DataGridView1控件內(nèi),然后重新按照上面的步驟,把對賬單2內(nèi)容導(dǎo)進(jìn)對賬系統(tǒng)界面內(nèi)DataGridView2控件內(nèi),在兩個對賬單的內(nèi)容都導(dǎo)入到對賬系統(tǒng)以后,點擊位于界面的下角“開始對比”的按鈕,便可以在界面中顯示出對比的結(jié)果,在對賬系統(tǒng)界面上的“對賬單1與2可匹配上的”軟件界面內(nèi)所顯示的是那些在對賬單1可以與對賬單2匹配上的條目內(nèi)容;在“對賬單1與2不可匹配上的”的軟件界面內(nèi)所顯示的是那些在對賬單1內(nèi)容中有而在對賬單2內(nèi)容中沒有的;在“對賬單2與1匹配不上”的軟件界面內(nèi)所顯示的是那些在對賬單2內(nèi)容中有而在對賬單1內(nèi)容中沒有的。當(dāng)對賬單的對比結(jié)果顯示出來以后,可以點擊軟件界面上“導(dǎo)出結(jié)果”按鈕,把對比結(jié)果導(dǎo)入到新建的excel文件中。
2 功能模塊
該系統(tǒng)包括三個功能模塊,具體功能如下:
(1)導(dǎo)入對賬單模塊。負(fù)責(zé)導(dǎo)入需要進(jìn)行對比的Excel格式對賬單表格的內(nèi)容到對賬系統(tǒng)內(nèi)。
(2)對賬單對比模塊。主要負(fù)責(zé)把對賬單1與對賬單2的excel表單的數(shù)據(jù)進(jìn)行對比,然后分別把匹配上與匹配不上的數(shù)據(jù)內(nèi)容在系統(tǒng)界面中進(jìn)行顯示。
(3)對賬結(jié)果導(dǎo)出模塊。負(fù)責(zé)把導(dǎo)出對賬單的對比結(jié)果到Excel的表單中。
3 程序編寫的重點技術(shù)解析
3.1 對賬單的導(dǎo)入
在本程序中使用C#.NET的DataGridView控件Excel表格中的數(shù)據(jù)進(jìn)行收接。在系統(tǒng)的編寫中,需要使用button控件,DataGridView控件以及comboBox 控件。當(dāng)對button控件進(jìn)行點擊,將會彈出打開Excel格式文件的對話框,然后選中需要打開導(dǎo)入到對賬系統(tǒng)的Excel文件,這時comboBox 控件中將會顯示被導(dǎo)入Excel文件的表名,在comboBox中選中想要打開的表名,則DataGridView 控件中將會顯示被導(dǎo)入Excel表格的內(nèi)容。部分代碼如下:
/*點擊導(dǎo)入excel格式的對賬單*/
openfile.Title="導(dǎo)入Excel格式對賬單文件";//設(shè)置對話框的窗口標(biāo)題
openfile.Filter=" Excel文件9*.xls0|*.xls";//設(shè)置打開文件的類型
If(openfile.ShowDialog()==DialogResult.OK)
{
name_excel = openfile.FileName;
OleDbConnection New_conect() =new OleDbConnection("
Provider=Microsoft.jet.OleDb.4.0;
Data Source="+""+name_excel+""+";
Extended Properties= Excel 8.0");
New_conect().Open();
DataTable data_tab = New_conect().GetSchema("Tables");
DataTableReader data_tab_Reader=new DataTableReader(data_tab);
while(data_tab_Reader.Read())
{
comboBox1.Items.Add(data_tab_Reader["name_excel"].ToString());
}
}
}// 把excel的表名導(dǎo)入到comboxBox中
3.2 對賬結(jié)果的保存
在該對賬系統(tǒng)中,當(dāng)點擊“開始對賬對比”按鈕,在對賬系統(tǒng)界面上就會立刻顯示對比結(jié)果,當(dāng)點擊“導(dǎo)出對比結(jié)果”按鈕時,對比結(jié)果將自動被導(dǎo)出新Excel表格中。部分代碼如下:
// 建立Exceld 新對象
Microsoft.Office.Interop.Excel.Application new_excel=
new Microsoft.Office.Interop.Excel.Application();
new_excel.Application.Workbooks.Add (true);//生成新的字段名稱
for (int i=0; i < rec_result.ColumnCount; i++)
{
new_excel.Cells[1, i+1] = rec_result.Columns[i].HeaderText;
}// 填充新excel數(shù)據(jù)
for (int i = 0; i < rec_result.RowCount;i++)//行數(shù)循環(huán)導(dǎo)入數(shù)據(jù)
{
for(int j = 0;j < rec_result.ColumnCount;j++) //列數(shù)循環(huán)導(dǎo)入數(shù)據(jù)
{......}
}
參考文獻(xiàn)
[1] 趙莉莉.會計核算電子對賬系統(tǒng)管理辦法存在問題及建議[J].吉林金融研究,2010(6):65-67.
[2] 張嘉惠.會計對賬系統(tǒng)設(shè)計與實現(xiàn)[J].電腦編程技巧與維護(hù),2012,52(10):152-153.
[3] 劉永逸.C#.NET中Excel表格的訪問技術(shù)的研究[J].婁底師專報,2009,11(2):62-65.