Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法

转载 2013年12月03日 16:29:09

Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法

在VS2008 中写了一个EXCEL的导出功能的东西,但在Windows Server 2008上发布后遇到个问题,EXCEL文件确实存在,但.net调用的EXCEL却不能打开这个EXCEL文件,代码执行到打开文件的时候报错,抛出异常如下:

Microsoft Office Excel 不能访问文件“a.xls”。可能的原因有:

? 文件名称或路径不存在。 
? 文件正被其他程序使用。 
? 您正要保存的工作簿与当前打开的工作簿同名

 此代码在2003的服务器上运行的没有问题,在给工作目录加上了相应的权限后发现问题依旧。无奈,上网去转了一圈,找到了一个解决方法,以下是其中关键的部分:

This solution is ...

?Windows 2008 Server x64 
  Please make this folder.

  C:\Windows\SysWOW64\config\systemprofile\Desktop

?Windows 2008 Server x86

  Please make this folder.

  C:\Windows\System32\config\systemprofile\Desktop

  ...instead of dcomcnfg.exe.

This operation took away office automation problems in my system.

A Desktop folder seems to be necessary in the systemprofile folder to open file by Excel.

It disappears from Windows2008, Windows2003 had the folder, 
and I think it cause this error.

 

即在C:\Windows\System32\config\systemprofile和C:\Windows\SysWOW64\config\systemprofile目录下创建名为Desktop目录即可解决问题


如还不行,参考以下方案:

 

1.
 1).通过webconfig中增加模拟,加入管理员权限,
 <identity impersonate="true" userName="系统管理员" password="系统管理员密码"/>
或者将网站在IIS中的application pool设置为Asp.net 4.0 classic,然后IIS->应用程序池-〉Asp.net 4.0 classic-〉标识,设置为local System.
 2).这样就能够启动Application进程,操作EXCEL了,能够新建EXCEL,导出EXCEL,但是还是不能打开服务器端的EXCEL文件


2.  
     在组件服务,DOCM设置 Microsoft Excel Application的属性,
     因为是在64位系统上面操作,组件服务中DOCOM中默认是没有的,因为Microsoft Excel Application是32的DCOM配置,所以通过如下方式解决(参考第三步)

3.
   1).开始--〉运行--〉cmd
   2)命令提示符下面,输入mmc -32,打开32的控制台
   3).文件菜单中,添加删除管理单元--〉组件服务
   4).在"DCOM配置"中找到"Microsoft Excel 应用程序",在它上面点击右键,然后点击"属性",弹出"Microsoft Excel 应用程序属性"对话框
 5).点击"标识"标签,选择"交互式用户"
 6).点击"安全"标签,在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限
   7).依然是"安全"标签,在"访问权限"上点击"自定义",然后点击"编辑",在弹出的"安全性"对话框中也填加一个"NETWORK SERVICE"用户,然后赋予"本地访问"权限.

4.重新启动IIS,测试通过

本地和服务器导出Excel报“Microsoft Office Excel 不能访问文件” 解决方法

最近在服务器和本地调用delphi写的导出Excel 的webservices,出现一系列配置和权限问题,现在一一记录下来。 Error 信息: Server Error in '/' Applic...

Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案

Win7、Windows Server 2008下无法在Windows Service中打开一时间:2010-09-04 06:16来源: 作者: 点击:27次 Win7、Windows Server...
  • Doven21
  • Doven21
  • 2011年06月14日 10:28
  • 637

[转]Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案

昨天,组里一个小朋友告诉我,他写的报表生成服务中无法打开一个已经存在的Excel 2007文件,他的开发环境是Win7、Visual Studio .Net 2008(Windows Server 2...
  • leoaran
  • leoaran
  • 2011年10月14日 10:16
  • 449

Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案

我用asp.net 开发一个把word上传到服务器上然后把word转换成html 本地开发工具vs2008 ,office为2003, 环境是XP系统,在本地运行正常,也没遇到什么错误。   但当我放...

[转]Win7、Windows Server 2008下无法在Windows Service中打开一个已经存在的Excel 2007文件问题的解决方案

引用地址:http://www.cnblogs.com/linyechengwei/archive/2011/03/25.html 昨天,组里一个小朋友告诉我,他写的报表生成服务中无法打开一个已...
  • smeyou
  • smeyou
  • 2012年07月17日 17:40
  • 4037

Windows server 2008下配置tomcat到系统服务方法及一般问题解决办法

最近开始接触Windows服务器的配置和使用。服务器主要目的是部署实验室的项目测试网站,所以就需要tomcat的支持。但是每次都要手动启动tomcat觉得很麻烦,所以就尝试将tomcat添加到系统服务...

在Windows server 2008下计划任务无法正常执行bat批处理文件的问题

存档备忘。。。 在Windows server 2008下计划任务无法正常执行bat批处理文件的问题   windows server 2008 下计划任务执行批处理,总是提...

windows server 2012 r2分区时创建为D盘时没有D盘符选择的解决方法

在服务器部署环境时,发现服务器上只分了c盘和f盘(进入Server 2012的操作系统,打开CMD框,输入:diskmgmt.msc,回车进入【磁盘管理】) 这里想把f盘分成D盘和E盘,出现创建为D...

解决Windows Server 2012: 由于没有远程桌面授权服务器可以提供需求可证...解决方法

由于windows server 2012 R2 安装了 远程桌面角色,但是这个角色是120天免费的,需要购买授权的 解决方法是取消这个角色,就可以恢复正常的远程了。 现在无法远程,提示这个错误,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Server 2008下Microsoft Office Excel 不能访问文件解决方法
举报原因:
原因补充:

(最多只允许输入30个字)