我用C#写了个Excel导入的页面,但选取Excel文件后提示权限不足,在XP下我把ASPNET用户添加到管理员组就OK了,但在WIN 2000 Server下却不行,在IIS中添加匿名用户访问也试了,还是不行,就问该如何解决这个问题?请指教,谢谢!

解决方案 »

  1.   

    (三).不能读取的原因 以及 权限问题解决  a. 原因是:  方法 1 是用流的格式实现的,简单的说它不是真正的Excel格式,而 3 是调用的
         Excel Com组件,生成的是真正的Excel文档,所以能读取(1也可以读取,但也要用Stream类读取,     如果数据有些复杂的话,会很麻烦).  用1和3方法生成的文件及文件图标一模一样,并且用Excel      应用程序打开后显示效果也是一样的.  但当用记事本分别打开1和3生成的*.xls文件时,就明
         显看到它们的不同了.(您可以下载一下本示例代码程序,分别生成两个文件,对比一下)  b.在使用Excel com组件时除了装Office-Excel以外,一般还要设置一下Com的访问权限,步骤如下:  
         I.如果是Window2003 ->控制面版 -> 管理工具 -> 组件服务 -> 
           打开树级目录找到子目录DCOM配置 -> Microsoft Excel 应用程序 
           -> 右击选“属性” -> 在弹出对话窗口中选“安全”选项卡->
           -> 将启动和激活权限设为自定义->点击编辑按钮->
           ->在新窗口中将Everyone用户加入,选中复选框"启动权限",给予启动权限     II.如果是WindowXP ->控制面版 -> 管理工具 -> 组件服务(繁体为"元件服务") -> 
           打开树级目录找到子目录DCOM配置 -> Microsoft Excel 应用程序 
           -> 右击选“属性” -> 在弹出对话窗口中选“安全”选项卡->
           -> 将启动和激活权限设为自定义->点击编辑按钮->
           ->在新窗口中将Everyone用户加入,选中复选框"远程启动",给予远程启动权限具体请看:
    http://blog.csdn.net/ChengKing/archive/2005/11/29/539514.aspx
      

  2.   

    我的系统是2000呀,组件服务中没有DCOM这个节点,只有COM+,在COM+下找了一下没有找到Excel相关的组件呀