代收代发格式转换工具 (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内部测试版 截图