访问Excel应用程序的有关注意事项
1. 为了避免因为用户机器上面Excel版本不同导致的功能差异,可以选择某个特定的版本,然后导出它的类库。例如目前比较通用的版本是Excel 2003,就可以找到安装目录下的那个Excel.exe,然后使用tlbimp这个sdk工具,将其导出为dll.实际上就是把这个com程序进行了RCW的封装。此时得到的Excel.dll是可以直接被.NET程序访问的
2. 使用VB.NET语言,而不是C#编写一个中间组件。VB.NET支持可选参数(optional),而C#则不支持,而且Excel以前的编程毕竟是VBA,本来就是VB语法。相对来说,用C#写会很头疼。
3. 注意,因为虽然经过了RCW封装,但其实到最后还是访问COM组件的,所以很多集合的下标不是0,而是1.这一点要特别注意。现在.NET将集合或者数组的下标都统一为了0,以前却不是。
4.如果是通过ASP.NET访问Excel,则可能会发现进程释放不了。可能会出现asp_net用户操作Excel的权限不够,配置Dcom。运行Dcomcnfg.exe,找到Excel应用程序,配置其属性,身份验证级别选"无",身份标识选"交互式用户",安全性页面,启动和访问均给everyone