在以前的博文中——CAD批量处理工具——BatchProc,即只要用户输入处理单个文件的代码,即可批量处理多个文件。使用起来特别方便。
在现在的地籍处理中,处理Excel的情况比较多,尤其需要反反复复修改,那些做数据的真是伤不起!他们数据的特点是:
(1)在某一个环节上,才发现上一个环节出了问题,得瞒着领导来补救啊,着急;
(2)数据的问题不能完全确定,在多数存在这个问题,还是极个别,是存在三个问题还是五个问题,不确定性;
(3)每次处理的问题都不同,代码基本不能重用,一次性消费,重用性差。
那咋办,还是得来处理啊,毕竟是老板发工资。为了尽量少写代码,我委托来处理,委托哪个?用C#中的委托!
实现思路:
1.按照以前,我会通过OpenDlg来获取所有要处理文件的Path,但这样有个问题,如果文件夹下有子文件夹,要通过查找来选择需要处理的xls或xlsx文件,索性直接获取所有文件,自定义函数如下图,将所有要处理的文件放到List中。
2.按照以前,我们将文件列表List传进去,New app,New book,New sheet,然后进行遍历处理,最后保存,关闭。每一次修改代码即可修改下图中框选的部分,这样确实显示不专业,于是使用是C#中的委托,即传入一个事件,这样就不用每次修改TraversalPprocessing了。
3. 按照以前,我不怎么使用它,我觉得它没有用,看了《.NET之美》后,效果真的不一样了,我会定义委托了。每次都处理的是工作簿,所以传入它即可。(不要传工作表哦,可能处理多个工作表,还可能修改工作簿的属性);
4.现在,我只需要写一个处理函数,处理单个工作表即可。
5.最后,直接调用委托。
如果是,他们也能写代码,每次就写自己要处理的那部分,那会怎样呢?……我会丢饭碗!