Tag: windows server 2008 r2

从Windows任务计划程序执行时,Perl无法打开Excel文件

这是一个非常奇怪的问题。 我有一个Perl(版本5.12)脚本,打开并修改Excel电子表格(版本2007或更高版本)。 下面是打开Excel文件的Perl代码: my $excel = Win32::OLE->GetActiveObject('Excel.Application') || Win32::OLE->new('Excel.Application', 'Quit'); my $book = $excel->Workbooks->Open($excelPath) or die $!; 整个Perl脚本被添加到Windows Server 2008 R2中的任务计划程序,因为它将在每天的同一时间被调用。 当我从任务计划程序运行脚本时,上面的“打开”语句发生错误,并中止,但$! 是完全空白的。 但是,当我从命令行手动运行Perl脚本时,一切正常,包括open-Excel逻辑。 我无法弄清楚命令行执行和调度程序执行之间的区别,以及为什么在Open失败时没有错误消息可用。 请让我知道,如果你有任何线索关于这个问题。 谢谢。 更新 :感谢杰森·格雷,我能够看到错误消息,它抱怨Excel文件无法访问。 但这对我来说没有意义,因为我可以保证文件path是正确的,没有其他人使用同一个文件。 最重要的是,从命令窗口运行Perl脚本完美的作品。 从任务计划程序运行和从命令行运行之间有什么区别? 解决了! 我发现这个奇怪的问题奇怪的解决scheme。 请参考以下链接: Link1 Link2 Link3

通过ASP.NET和IIS7在服务器上保存Excel工作簿

执行SAVEAS时,以下代码示例会产生相同的错误: Microsoft.Office.Interop.Excel.Application excelApp = new Microsoft.Office.Interop.Excel.Application(); filePath = (string.Format("{0}.{1}", Path.GetTempFileName(), "xls")); …做一些东西的工作簿… excelApp.DisplayAlerts = false; excelApp.ActiveWorkbook.SaveAs(filePath) 要么 Missing m = Missing.Value; excelApp.ActiveWorkbook.SaveAs(filePath, m, m,m,m,m, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, m,m,m); 要么 excelApp.ActiveWorkbook.SaveAs(filePath, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value); 这里是错误:exception: System.Runtime.InteropServices.COMException(0x800A03EC):exception从HRESULT:0x800A03EC在Microsoft.Office.Interop.Excel.WorkbookClass.SaveAs(对象文件名,对象FileFormat,对象密码,对象WriteResPassword,对象ReadOnlyRecommended,在Common.CreateTempExcelFile(DataTable数据)对象CreateBackup,XlSaveAsAccessMode AccessMode,Object ConflictResolution,Object AddToMru,Object TextCodepage,Object TextVisualLayout,Object Local) 我曾在服务器上的Office 2003 interop,但已升级到2007年。没有区别。 顺便说一句,我可以写一个文本文件到相同的文件/path,所以它不是在文件夹上的权限错误。 提前致谢, 吉姆

无法加载文件或程序集“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 […]

如果pipe理员用户注销,服务器上的Excel应用程序无法工作

我有一个ASP.NET应用程序,它使用Microsoft内置程序集来读取,写入和修改Excel文件,并在服务器计算机上使用Excel 2013。 应用程序工作正常,如果我以pipe理员身份login到服务器机器,但是当我注销应用程序无法初始化Excel应用程序。 这是例外。 System.Runtime.InteropServices.COMException (0x8000401A) 应用程序正在MS Excel 2013 32位Windows Server 2008R2上运行我无法弄清楚这种行为的原因。 这是关于COM对象的安全选项,或者它与IIS权限有关吗?