正文:
一、首先要引用一个Excel的组件,我一开始是在Office XP下尝试的,不成功,后来把XP给干掉,装2k,就成功了,所以这里分离的是Office 2k下引用相关组件来实现功能的,在工程中引用COM标签中的Microsoft Excel 9.0 Object Library,添加成功后,引用中会多出三个引用项:Excel、Office、VBIDE。
二、具体代码。
一点说明:操作Excel的时候,可能会发生Excel进程被锁定,无法退出,解决方法是在保存完并关闭myBook(工作簿)后,别关闭Excel进程(//myApp.Quit();)。这样的结果是服务器上始终有一个Excel的进程。可能会出现asp_net用户操作Excel的权限不够,配置Dcom。运行Dcomcnfg.exe,找到Excel应用程序,配置其属性,身份验证级别选“无”,身份标识选“交互式用户”,安全性页面,启动和访问均给everyone。注意:查看当前进程中是否有Winword进程存在,如果有且不能被结束,那么重启动计算机。再次运行你的代码即OK。这样以后就不会出现权限不够的情况了。
三、调用
一点说明:这段代码的前半部分读过我那篇《一种快速存取订阅条目的方案》的读者应该认得的,其实也就是一个把集合类中数据填充到DataView中的过程,后面的就是调用。Sample.xls是个新建的空的Sample.xls,然后执行完毕后,就会生成Test.xls文档