封装Excel Interop
最近再做Office的Dotnet开发,我现在对于完全封装有些执着,因为我可以使用代码控制Word,Excel里面的表现。如果使用Host一个实例或者使用Office Script,就没有那么随意。
在处理Excel的时候,发现微软提供的Office Interop类提供的封装不是十分完善,决定自己对其进行封装。
封装的选择:
1、封装主要的Excel类,向外提供一定的Helper功能,也提供直接访问Microsoft.Office.Interop.Excel.*下的类的函数。
缺点:客户代码端需要引用这个Office库,客户需要理解Microsoft.Office.Interop.Excel的模型。更加悲惨的是,你需要了解大量的无法自动提示的enum。
优点:封装的代码量很小,释放资源的工作交由客户代码完成(你无法预知什么时候客户不需要使用一个资源,最好的资源释放模式就是,不用了,就立即释放)
2、完全封装,全部封装excel的类
缺点:代码量大,释放资源比较麻烦(资源总是在分配,需要代码跟踪),功能设计比较麻烦(没人能确知客户代码的需求)
优点:客户代码简单多了
虽然麻烦,我还是选2,完全封装
代码没搞完,呵呵 /Files/JeasonZhao/JeasonZhao.Office.rar