c#开发office办公自动化随笔
office自动化采用vba还是c#、vb.net,差别都不大,主要看你喜欢什么样的风格,谈谈感想。
vba,目前还是得打开不同的excel文件,复制粘贴,修改代码,开启宏信任,保存为宏文件,比较麻烦。但它很强大,谁叫生他养他的是WS呢,Windows API也可以信手拈来。
c#,是WS力推的高级编程语言,语法优美、书写灵活,支持许多新的功能,当然包括API了,也能调用其他库,强就一个字。用它来开发office插件或二次开发,*度非常高,可以直接引用com对象。但据了解,对于数据量大的情况,vba的效率更胜一筹。其实对于大部分人来说,c#的速度也能接受,我就特别喜欢。此外,由于语法差异,你需要花一点时间思考怎么将vba的代码转换为c#形式。例如有不少vba能直接访问的对象,c#是返回object,这就需要类型转换了。毫无疑问,推荐使用微软的开发者网站查询,一目了然。
vb.net,功能和c#差不多,由于语法与vba的相近,学习成本不高。
最重要的一点,没有动手就没有发言权。无论选择哪一种,一定要多练习,多查文档,多思考。我现在正在用c#开发office插件,为什么不用vsto的形式?感觉这种窗体程序的方式更灵活,再者已经解决访问多个excel实例的问题了,不管后台产生多少个实例,都能准确访问当前正在处理的excel实例。
个人水平也就入门的程度吧,还有很多很多东西不了解不知道,边学边做,在学习中进步,在进步中成长。
习惯了Windows平台,会不会受限?怎么说呢,虽然说学的是方法,但一码归一码,更换别的平台,重做的工作量摆在那里,希望明天会更好吧~_~
上一篇: Java入门自学需要注意什么?
下一篇: Mysql怎么优化修复数据库表