分享

ASP.NET后台调用EXCEL,调试时正常,发布后无法访问文件

 rkjx 2012-06-07
以前都是正常的,WIN2003恢复过后,原IIS网站重设过了,也打过一些补丁.不知道是什么原因
现在
发布前:
调试一切正常,
发布后:
C#其他命令也可以读写发布目录所在的文件夹,

但下面的Excel操作出了问题:
  Excel.Application myExcel = new Excel.Application();
  myExcel.Application.Workbooks.Open("f:\\mis\\xls\\model.xls", ms, ms, ms, ms, ms, ms, ms, ms, ms, ms, ms, ms, ms, ms);

错误提示: sys.webforms.pagerequestmanagerServerErrorException: Excel 无法访问 "f:\\mis\\xls\\model.xls". 该文档可能为只读或加密文档.
曾经怀疑文件夹的读写权限,
后来我把文件改了名
错误提示: sys.webforms.pagerequestmanagerServerErrorException: Excel 无法找到 "f:\\mis\\xls\\model.xls".
这说明系统是可以知道文件的存在的.
问题可能在于Application.Workbooks.Open()在发布前后的不同(但以前是正常的呀!)
 
<system.web>
  <identity impersonate="true" />
在config里添加此节点,是允许操作文件的权限。。
如果还不行就这么写
<system.web>
  <identity impersonate="true" userName='administrator' password='...'/>
直接给管理员权限。
 
 
我刚出了这样的问题,就是权限不够。
http://space./12639172/viewspace-485840
去看看吧。估计是你想要的!
 
按楼上仁兄的方法解决问题了,不过我只选择交互式用户,就OK了,其他的设置,都不用,呵呵.多谢了!
给分,结贴!
 
引用 5 楼 fuda_1985 的回复:
<system.web>
<identity impersonate="true" />
在config里添加此节点,是允许操作文件的权限。。
如果还不行就这么写
<system.web>
<identity impersonate="true" userName='administrator' password='...'/>
直接给管理员权限。

正解,我也是这样用的
 
 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多