今天有个同事问我个问题,他在用C#“Microsoft.Jet.OLEDB.4.0”读取Excel文件的时候,发现了一个问题,是这样的,他读出来的Excel数据在DATAGRID中显示的时候,只有文本的数据能够读出来,比如某一个单元格里面的数据是纯数字的话,那么在DATAGRID里面显示的空的,什么都没有,他让我看看,我找了好半天的原因没有找到,后来实在没有办法,就换个方法读,用COM组件,引用了Excel组件之后,Excel.Applicatioin ea=new Excel.ApplicationClass();执行的时候就报错,“访问被拒绝”,发现了这样两个问题,今天晚上找了好半天的方法,终于解决了。 结点,这个结点的用途见ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpgenref/HTML/gngrfIdentitySection.htm 还有个问题,加入在页面中对Excel进行了操作,需要保存的时候,当创建一个新的文档或者保存一个修改过的文档时: 代码是:test.SaveAs (ConfigurationSettings.AppSettings["Excel"] + DocName.Text + ".xls"); 出现如下错误: 无法打开宏储存。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Runtime.InteropServices.COMException: 无法打开宏储存。 解决方法: 在运行中输入dcomcnfg 在组件服务==>计算机==>我的电脑DCOM找到: 打开之后出现下面的界面, 点访问权限, 看到上面的界面之后大家该知道怎么做了吧,添加了ASPnet用户,然后给权限就OK了 |