Microsoft Office Excel无法访问文件';c: inetpubwwwrootTime
本文关键字:inetpubwwwrootTime 文件 Excel Office 访问 Microsoft | 更新日期: 2023-09-27 18:06:04
我的代码如下:-
Microsoft.Office.Interop.Excel.Application oXL = null;
Microsoft.Office.Interop.Excel.Sheets sheets;
Application excel = new Microsoft.Office.Interop.Excel.Application();
excel.Workbooks.Add(System.Reflection.Missing.Value);
/*
* Here is the complete detail's about Workbook.Open()
*
* Excel.Workbooks.Open(String Filename, Object UpdateLinks, Object ReadOnly, Object Format,
* Object Password, Object WriteResPassword, Object IgnoreReadOnlyRecommended, Object Origin,
* Object Delimiter, Object Editable, Object Notify, Object Converter, Object AddToMru, Object Local, Object CorruptLoad)
*/
Workbook workbook = excel.Workbooks.Open(
System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
Missing.Value, true, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
sheets = workbook.Worksheets;
现在是线路:-
workbook = excel.Workbooks.Open(
System.Web.HttpContext.Current.Server.MapPath("~/App_Data/Template.xlsx"),
Missing.Value, true, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value, Missing.Value, Missing.Value,
Missing.Value);
它直接从visualstudio(F5(执行,但当我尝试使用IIS访问它时,它无法工作。抛出错误如下:-
Microsoft Office Excel无法访问文件"c:''inetpub''wwwroot''Timesheet''App_Data''Template.xlsx"。可能有以下几种原因:
•文件名或路径不存在
•该文件正被另一个程序使用
•您试图保存的工作簿与当前打开的工作簿同名
我已经尝试了以下工作:-
- 文件夹和文件存在,允许IUSR_###(IIS用户(和文件所在文件夹中的ASPNET用户访问。
- 在组件服务(DCOM(中,授予适当用户访问权限
我已经为存在模板(.xlsx(的文件夹授予了所有权限
有什么建议吗??
试试这个:
- 创建目录
C: ''Windows''SysWOW64''config''systemprofile''DDesktop
(适用于64位Windows计算机上的32位Excel/Office版本(或
C: ''Windows''System32''config''systemprofile''DDesktop
(适用于32位Windows计算机上的32位版本的Office或64位Windows计算机中的64位版本的Office(。
- 对于Desktop目录,为相关用户(例如,在Win7和IIS 7和DefaultAppPool中为用户IIS AppPool''DefaultAppPool设置权限(
原始帖子与答案:
- 基于Windows Server 2008 x64的Excel 2007自动化
让我注意一下,在我的位置,添加c:''windows''syswow64''config''systemprofile''desdesk目录不起作用。
重点是WOW64代表Windows64上的Windows,这意味着它实际上适用于在64位操作系统上运行的32位程序。
由于我安装了64位Excel,因此正确的目录是c: ''windows''system32''config''systemprofile''datadesk
就我而言,我遵循了此处提供的建议并解决了问题。
步骤:
- 运行
dcomcnfg
- 转到控制台根目录''组件服务''计算机''我的电脑'' DCOM配置'' Microsoft Excel应用程序
- 右键单击Microsoft Excel应用程序
- 选择属性
- 转到标识选项卡
- 选择交互式用户
在步骤2中,如果找不到该路径,请尝试运行mmc comexp.msc /32
而不是dcomcnfg
。
我想为Eric Bonnot的回答添加一些内容:当我在IIS服务器上与一个使用powerpoint PIA的非管理员用户一起工作时,部分问题得到了解决。
我注意到,如果这个文件中有媒体(例如图片(,我就无法打开pptx文件。
"黑客"还将权限添加到systemprofile/AppData目录中的windows用户(使用PIA的用户(。
希望这能帮助
以下解决方案对我有效
创建目录C: ''Windows''SysWOW64''config''systemprofile''DDesktop
我以前尝试过这个问题,后来我解决了。
解决方案:
我把完全权限放在特定的文件夹(子文件夹和文件(,并检查工作是否正常。
我已经将WCF封装在Windows服务中。创建桌面文件夹确实解决了我在一台机器上的问题,但在另一台计算机上没有。
最后我的问题是,我的Windows服务没有在机器的活动用户下运行。到目前为止,将服务配置为在机器上活动的用户下运行为我解决了这个问题。
只有的组合
- 现有桌面文件夹
- 在真实用户帐户下运行的服务
让它为我工作。
这篇文章让我找到了完整的解决方案:无法访问excel文件
在我的情况下,给出的解决方案都不适用于我(在dcom设置中更改用户、创建桌面文件夹并允许用户完全访问它,等等(。
我终于意识到我有一个64位版本的excel卸载64位版本并安装32位版本的excel解决了我对此错误的解决方案。这是使用Windows 10和Microsoft Office Excel 2010。
这适用于
excel.exe/safe
这并没有产生与常规excel启动相同的错误
excel.exe/自动化
对于ANY网络文件,所有MS Office 2007应用程序也会出现这种情况。可以访问本地文件。