原始链接:http://www.cnblogs.com/Charltsing/p/ExcelDnaDemo.html
ExcelDna工程演示讲课内容
1、ExcelDna是啥?
2、ExcelDna项目的价值
3、什么应用场景需要ExcelDna
4、ExcelDna支持哪些功能
5、ExcelDnaProjectDemo代码讲解
1、 ExcelDna是啥?
先说第一个问题,微软给Excel开发提供了两个接口:一个是常见的Com接口,一个是C API接口。
com接口今天就不讲了,因为大家都会。
C API接口很多人不太清楚,可以在msdn上查找资料。
C API因以下原因而得名:Excel 使用一些标准的 C 数据类型来交换数据;库函数用 C 名称修饰;数据结构为 ANSI C。在具备了适当经验的情况下,使用 C++ 可增强 XLL 项目的易管理性、可读性和稳定性。
因为众所周知,Com接口的执行效率很低。所以,对于一些要求高性能的项目来说,选择C API接口就成了唯一的选择。
微软提供了xll格式的addins,使用C API来操作excel。但是,因为xll只能用C++来开发,使用.net的菜鸟们看着非常羡慕嫉妒恨。所以,很多shim就应运而生,shim意思是给xll提供一个中间垫片,使其能够加载.net写的dll。ExcelDna就是诸多shim中最好的一个。所以,我来回答第一个问题:ExcelDna是确保xll能够加载.net库的一个loader。这么解释不太严谨,但方便各位理解。
2、ExcelDna项目的价值
下面说第二个问题:ExcelDna的价值是什么?
最主要的是几个方面:
- 让.net能够开发xll,从而可以调用C API。这使得程序开发的便捷性和高效性得到了完整的统一。
- ExcelDna封装了很多Excel提供的各种功能,这样菜鸟们可以更关注功能的实现而不是技术问题
- 最关键的,xll可以不使用管理员权限即可分发和部署,这是COM插件无法做到。ExcelDna的pack功能,使得插件的分发和部署变得极为容易,打包后的xll插件可以单文件下发,也能实现随意升级。
- 当然ÿ