代收代發格式轉換工具 (v1.0.0 alphal內部測試版)
使用說明
作者:半點閒
時間:2010-1-7 星期四 14:16
修改:2011-6-14 星期二 14:00
當前版本:v1.0.3 alphal內部測試版
運行環境:中文WindowsXP_SP3、Windows7下測試通過。
測試單位:信陽市農村信用社、羅山農村商業銀行。
適用範圍:
河南省各農村商業銀行及信用聯社。辦理“代收代發”業務時需要批量錄入(開戶)的文本文件格式的數據(如:城鎮(農村)低保、農村糧食直補、城鎮(農村)養老保險等)。
新增功能列表
描述 |
常用度 |
時間 |
5 |
2010-3-24 |
|
允許更改證件類型、輸出文件包含記錄數各項參數 |
5 |
2011-1-18 |
文件第一行是列標題的處理 |
5 |
2011-6-14 |
文件折、卡混合數據的處理 |
5 |
2011-6-14 |
BUG修復列表
描述 |
重要度 |
時間 |
5 |
2010-3-22 |
|
5 |
2010-3-22 |
|
修正導出文件記錄多1 |
5 |
2011-1-18 |
關閉[第一行不包含列標題] |
5 |
2011-1-18 |
常見問題列表
描述 |
重要度 |
時間 |
5 |
2010-3-22 |
說一說:
我的這個程序目前還在不斷的改進中(基本上是大家有要求,我就更新一下),文中所給出的程序截圖(採用v1.0.0 alphal內部測試版)。也許,和你實際下載且使用的程序,在界面上有些許差異。主要區別在於新增功能所對應的界面。但,主要界面和操作步驟並沒有太大變化。所以,文中的說明及例圖我暫時就不進行更新了。也許,會等到程序有重大變化或者定型後統一更新。如,想了解程序目前最新的信息你可以查看文章頭部所給出的表格(程序界面最新的截圖我會附在文章尾部)。
因此給你帶來不便,請見諒!
正文:
在做這個程序之前我行及各兄弟(行/聯社)“代收代發業務”已經開通且正常運行了好長一段時間,大家手頭上都已經有了“格式轉換”方面衆多的方法及工具(也包括我從很多前輩手中獲取的經驗和工具)但爲什麼還要去動手做這個程序呢?其中,很大的原因是使用這些方法及工具時,都不是那麼的簡便 (這裏我先訴個罪啊,就我做的這個程序也不見得就是非常簡便。莫怪、莫怪^_^!)。
大家從程序的版本號中也不難發現,雖然我已經盡我最大的努力及智慧,對這個程序進行了儘可能多的測試。但畢竟這個程序從開始製作到第一個測試版完成也就用了不到一週的時間(程序始於2010-3-5 星期五 也就是我接到財政局交付的數據那天),程序難免存在着不少的BUG,誠心希望大家把使用中的感受與我交流,你們的批評就是我完善它的動力,我的目標就是儘可能的使它功能越來越強大、穩定。讓以後再遇到“代收代發”格式轉換的工作時不至於暈倒(每次“代收代發”業務來臨及看到財政局交付的那些亂七八糟的數據,我死得心都有了^_~!)。
程序的缺陷及不足:
缺陷:暫時不詳。
不足:暫時只能處理Excel表格文件(Excel 2007之前版本)。
程序使用說明:
首先,我們先看一下由財政局交付給我們需要進行格式轉換的Excel數據文件。這個文件中包含的記錄很多,有的單個文件就包含幾萬條記錄(全轄幾十個網點單啊!)。
我們的任務就是要從包含這麼多信息的文件中挑出對我們有用的行或列。然後,再針對這些挑出來的數據行進一步處理轉換爲我們系統能夠識別處理的格式。
說到這裏,我想大家都深有體會,對交付給我們的數據,用雜亂來形容它也不爲過,每一個Excel表格文件中的數據都很隨意,沒有統一的格式且記錄行中還夾雜着很多空行或者空列。要是想用人工的方法逐一挑出錯誤並轉換成所需的文件格式,光想一想死的心就有了。
以下圖爲列(圖1),實際我們真正所需的列是D(賬號)、F(戶名)、L(金額),那我的程序就是提取這些我們需要的列所對應行的記錄(這也包括自動剔除隱藏在記錄行中的非法數據),並生成“綜合業務”系統批量錄入所需的文件格式。
(圖1)原始數據文件
圖2所示,就是本程序的主界面。正如圖中用紅色數字標示的那樣,從接受原始Excel數據文件到成功轉換爲所需文件格式,只需要5步,下面就每個功能作詳細說明:
(圖2)程序主界面
1、 【文件】點擊(…)根據選項選取所需的Excel文件。
2、 【顯示工作表】顯示當前Excel文件中包含的工作薄。單擊選取需要進行格式轉換的工作薄,表單窗口會顯示此工作薄中所有可以轉換的數據行。
注:【信息】提示框會實時反應讀取記錄過程中的錯誤信息,如有不能讀取的記錄,它會顯示它們在文件中所處的記錄行位置及原因(如:“invalid use of Null”表示此條記錄上有空的行或例、“數值字段溢出”請檢查賬號字段中是否有其它非法符號)。
3、【表中列/對應批量開戶字段】Excel表格中的列實際轉換後所對應的列名稱。
4、【關聯按鈕】關聯後,確定。
注:如關聯錯或需要更改請在關聯文本提示框點擊鼠標右鍵選擇【清除】操作即可。
5、【轉換】將生成所需格式文件。每個文件可以自定義包含的記錄行,超過部份將自動生成到新的文件中,直至所有數據轉換完結(文件名會以源文件名的形式自動加上編號,如:xxx1.txt、xxx2.txt……)。
(圖3)轉換後的文件格式1
一些技巧:
1、 通過刪掉Excel文件中不需要的行或列,可以加快程序處理的速度,同時也可以提升成功轉換的機率。
2、 將Excel文件中所有行或列都統一設置爲“文本”格式,可以提升成功轉換的機率。
寫到最後:
歡迎大家來拍磚。
新增功能說明:
1、新開標準格式(記一筆賬)
生成的輸出文件後綴名爲文件序號前面加上“n”(New首字母字符)。如:輸入文件爲“營業部.xls”轉換格式後的文件名“營業部1n.txt、營業部2n.txt……”。
(圖:新開標準格式(記一筆賬)文件格式)
2、折、卡混合模式
Excel文件中的記錄即有一本通存摺數據又有金燕卡數據時,使用此功能,可以針對這兩種情況生成各自正確的格式。注意,一本通存摺賬號後3位必需含有“889”識別字符,轉換後的一本通賬號將自動剃除“889”識別字符。
(圖:折、卡混合記錄的文件。其中622開頭的是卡)
(圖:轉換後的文件格式。一本通賬號末尾889識別符已剔除)
BUG修復列表:
BUG描述:對“記錄行”末尾處理不當,造成輸出的記錄行末尾有多個結束符(0XA、0XD、0XA)致使文本文件上傳至Unix系統後,除第一行數據成功讀取,剩餘的記錄行都無法讀取。
(圖爲:有問題的記錄行)
(圖爲:修復後的記錄行)
BUG描述:賬號列內容非空。但並非是賬號格式數據,程序無法查知,如此列內容爲"“新增”文字。
(圖爲:有問題的Excel數據行)
(圖爲:對應上圖轉換後的樣子)
(圖爲:修復後,轉換過程中會剔除有問題的記錄行)
當前版本:v1.0.3 alphal內部測試版 截圖