[转贴]循序渐进,探寻Excel二次开发.NET源码(2)

循序渐进,探寻Excel二次开发.NET源码(2)
--Excel打开关闭打印预览
作者:长江支流

关键字:.NET、Excel、Excel打开、Excel关闭、Excel打印预览、Excel二次开发、面向对象、设计模式

  经常很多朋友把源程序发给我帮忙调试,这其中除了关于.NET打印方面的问题外,也有很多关于Excel的,他们基本上是通过MIS金质打印通我的Blog我的个人主页中了解到我做过打印及Excel二次开发的。我发现,虽然是用.NET做Excel开发,但是很大部分人并没有对Excel操作作一次封装,也就是说没有用到面向对象。在很多操作中都是实例Excel.Application、Workbook,然后对WorkSheet进行操作。 在CSDN上也有不少关Excel的操作问题,贴出来的代码也有类似问题。

  说到面向对象,其实就是为了更好的理解事物的本质属性和封装,便于维护与扩展。日后你也许忘记了如何直接写代码打开并操作Excel,它其中是如何工作了,这也并不影响你,你只要直接调用就可以了。如果是基于过程的,每次调用Excel都是写同样的代码,这时,你需要考虑重构,可以参考Martin Fowler
的《重构:改善既有代码的设计》。试想一下,多次拷贝粘贴同一代码,修修补补,如果当初写代码有欠考虑周全,不妥之外难免,谁知道有多少处同样的错误需要改正,即使使用Ctrl+F,也难免有漏网之鱼。而重构之后,相同的代码只有一份,需要改的地方只有一处,应用面向对象,可以快速定位,因为它是实现于某个类中的,直接就可以找到相同的方法或属性准确定位。

  Excel功能强大,我们用不到也不可能全部用完Excel的所有功能,需要实现一些我们常用的且重要的功能,但是需要有一个简单的入口和操作模式。这其实是就 GOF23个精典设计模式之一 Facade(外观)模式,可以参考《设计模式:可复用面向对象软件的基础》,建议有一两年开发经验的人阅读。

  题外话:老实说,没有写过程程序的人看《设计模式》简直就是看天书,即使有一定程序经验也不是很好理解,这需要在实践中去体验。做了一两年程序,你也许根本不知道有《设计模式》这东东,但是,你却自己实际上用了设计模式。学习设计模式不仅是设计的需要,代码的需要,更是交流的需要。如果某老人家自诩自己是高手,什么都通,但在和人交流时别人说用观察者,哈哈,不知所云。当然,这也并不防碍他仍然是高手,高手的定义犹如集合的定义,是一个不确定的定义。有些时候,不要刻意的追求设计和技术,但是可以肯定,只要你能做出实用的东东,你其实就是用户心目中的英雄。

  从现在开始,我们就来封装Excel操作并提出一些简单的重构方法。  

  进入Vs2003 IDE,从文件菜单上单击新建项目,项目类型为C#或VB,以下以C#为例(并提供相应的VB.NET代码或进行说明,使用示例代码全部用C#VB.NET对照写,哈哈,毕竟2002年之前我也是VB程序员,还要想想统一战线上的朋友,不能忘了根)在模板中选择类库。

  为了此系列关于Excel文章的连贯性和统一性,并且和我发布的源码一致,名称估且叫GoldPrinter.ExcelExpert,确定即可。在打开的开发环境中,引用Excel.dll(参见Excel系列文章第一篇)。删除解决方案资源管理器中默认生成的Class1.cs。

  在项目上鼠标右键单击后添加一个新类,名称为:ExcelBase。。。 

相关源码下载信息请访问:
http://blog.csdn.net/flygoldfish

声明:本文版权为周方勇所有,欢迎转载,请保留完整的内容及出处。
flygoldfish@163.com

更多文章请点击左边的“文章”和“存档”分类

文章

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值