欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

c#开发office办公自动化随笔

程序员文章站 2022-05-10 17:52:49
...

  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平台,会不会受限?怎么说呢,虽然说学的是方法,但一码归一码,更换别的平台,重做的工作量摆在那里,希望明天会更好吧~_~