委托批量处理Excel
在以前的博文中——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.最后,直接调用委托。
如果是,他们也能写代码,每次就写自己要处理的那部分,那会怎样呢?……我会丢饭碗!
委托批量处理Excel的更多相关文章
- VSTO学习笔记(五)批量编辑Excel 2010 x64
原文:VSTO学习笔记(五)批量编辑Excel 2010 x64 近期因为工作的需要,经常要批量处理大量的Excel文件,如果纯手工一个个修改,非常的麻烦,于是写了这么一个帮助类,希望能对你有所帮助. ...
- 关于SSIS批量抽取Excel文件报0x80004005错误的解决办法
原文:关于SSIS批量抽取Excel文件报0x80004005错误的解决办法 标题: Microsoft Visual Studio ------------------------------ Pa ...
- 一键批量打印EXCEL、WORD文档
一键批量打印EXCEL.WORD文档,本方法也可以打印同一个文档N份,可以批量打印A3.A4文档,包括单.双面打印等.希望能帮到广大朋友.请大家注重原创版权,不得在未经许可的下转载.传播,或者用来对同 ...
- 批量删除Excel里面的换行符
关于批量删除excel里面的换行符,应该说写程序的遇上excel大体都会有这么个问题,在解决这个问题前,我的解决办法是把excel 的数据全部复制到txt里面, 因为操作txt比操作excel更为简单 ...
- 使用VBA批量转换Excel格式,由.xls转换成.xlsx
问题分析: Excel2007以前的格式是.xls,之后的格式是.xlsx.打开单独的一个Excel文档,使用“另存为”功能,可以很轻松的转换格式.但是面对几百个Excel表这样就太累了,搜索很久,也 ...
- springboot批量导入excel数据
1 背景 小白今天闲着没事,在公司摸鱼,以为今天有事无聊的一天,突然上头说小子,今天实现一下批量导入Excel数据吧,当时我的内心是拒绝的,然后默默打开idea. 2 介绍 2.1 框架 java本身 ...
- Excel实用技巧-如何批量提取excel工作表名称
Excel实用技巧-如何批量提取excel工作表名称 1. 打开Excel文件,点击“公式”栏,进而点击“定义管理器” 2. 在弹出的对话框中,点击新增按钮, 名称:“sheet”,引用位置:“=RE ...
- MySQL批量导入Excel数据
MySQL批量导入Excel数据 1.确定需要导入数据的表名称以及字段,然后在新建的Excel表中,按照表字段正确排序:(注:(Excel文件的名称最好和数据库的名称一致,sheet表的名字最好和表名 ...
- MySQL批量导入Excel、txt数据
MySQL批量导入Excel.txt数据 我想Excel是当今最大众化的批量数据管理软件了吧,所以我们会经常涉及到将Excel中数据导入到MySQL中的工作.网上有一些关于直接将Excel导入MySQ ...
随机推荐
- PHP 笔记——操作MySQL数据库
1. 连接MySQL服务器 mysqli_connect :此函数是该函数的别名: mysqli::__construct() mysqli mysqli_connect ( [string se ...
- 【筛法求素数】【推导】【组合数】UVALive - 7642 - Prime Distance
题意:n个格子,m个球,让你把球放入某些格子里,使得所有有球的格子之间的距离(abs(i-j))均为素数 ,让你输出方案数. 只占一个格子或者两个格子显然可行. 占有三个格子的情况下,则必须保证其中两 ...
- Java并发(十):读写锁ReentrantReadWriteLock
先做总结: 1.为什么用读写锁 ReentrantReadWriteLock? 重入锁ReentrantLock是排他锁,在同一时刻仅有一个线程可以进行访问,但是在大多数场景下,大部分时间都是提供读服 ...
- Problem F: 最大公约数、最小公倍数
Description 输入两个正整数m和n,输出m.n的最大公约数和最大公倍数.先计算最大公约数,m和n得乘积除以最大公约数,就得到了最小公倍数.其中最大公约数可以用穷举法求得,也可以用辗转相除法求 ...
- 【ArcGIS笔记】数据处理
1.ARCGIS在导入Excel坐标点的时候出现"没有注册类"的情况怎么办? 确保你本机上装有office,并且版本要能够识别XLSX格式.2007以上. 2.导入excel时re ...
- PHP -- 简单表单提交
网上看博文,一步步入门~~ 简单表单,简单提交 @_@!! <?php //php代码部分开始 echo "<html>"; echo "<hea ...
- Segger Real Time Terminal RTT JLINK 客户端软件 GUI 版本
- .NET Transactional File Manager
.NET Transactional File Manager http://transactionalfilemgr.codeplex.com/ 对文件系统操作,比如copy, move, dele ...
- std::string compare
#include <iostream> #define NULL 0 #define MAX_LIMIT 5 //#define MAX_LENGTH 2 bool ComparePC2S ...
- Source Insight 源代码查看工具
在开发的过程中,有时候我们需要研究源代码,查看源码是一个好的习惯,能帮我们学到很多的东西,比如JDK可以帮助我们理解很多设计模式在实际开发中的应用,又或者android开发者,源代码更是必不可少的,当 ...