Tag: com

在PHP中使用COM类

我正在使用下面的代码来访问PHP中的Excel文件。 $excel = new COM("Excel.application",,) or die ("ERROR: Unable to instantaniate COM!\r\n"); // DATA RETRIEVAL $Workbook = $excel->Workbooks->Open($file) or die("ERROR: Unable to open " . $file . "!\r\n"); $Worksheet = $Workbook->Worksheets($sheet); $Worksheet->Activate; 上面的代码在本地机器上工作,但是当我尝试在任何Web服务器上执行此代码,然后它不工作。 有人能帮助我这个代码中的问题在哪里。

运行.NET应用程序引用的Excel API的客户端需要安装Excel吗?

更具体地说,我指的是COM组件Microsoft.Office.Interop.Excel.dll。 如果客户的计算机上没有安装excel,那么.net应用程序甚至会运行,或只是在试图访问dll的时候崩溃? 另外,是否有可能解决任何可能的限制,通过部署这个DLL的副本与.NET应用程序? (假设这样做是合法的。)

com互操作:如何从Excel或Access中使用c#

我在网上看到很多关于VSTO和从c#自动执行excel的知识,但是很less有人开始将ac#程序集连接起来,使它可以从Excel中看到。 有人可以指向我一些非常基本的信息解释如何创build一个COM接口,GUIDS,ComVisible等?

ExportAsFixedFormat与Excel失败

我尝试通过COM自动化将Excel文件转换为PDF。 代码使用系统用户作为服务运行。 不幸的是,我在ExportAsFixedFormat()函数中得到错误“0x800A03EC”。 它在我在交互式会话中运行时起作用。 我听说systemprofile需要一个桌面文件夹,所以我添加了这些。 我听说这也可能与系统用户没有默认打印机,所以我添加到以下键的值: HKEY_USERS\S-1-5-18\Software\Microsoft\Windows NT\CurrentVersion\Devices HKEY_USERS\S-1-5-18\Software\Microsoft\Windows NT\CurrentVersion\PrinterPorts 但是这只会让Excel挂起而不是立即抛出exception。 我出于想法,并感谢任何帮助。

有没有办法在.NET中创build和部署COM没有registry项的COM?

这里有一篇文章: http : //richnewman.wordpress.com/2007/04/15/a-beginner%E2%80%99s-guide-to-calling-a-net-library-from-excel/ 但是,在用户PC上不可能修改registry,那么是否有可能为excel部署COM而不这样做? 更新:似乎不可能作为插件,那么是否有可能,如果只使用COM对象。

不能访问在C#中的Excel文件

通过使用PIA打开Excel文件,我的程序出了问题。 下面是我的示例代码; 有什么build议么? path = @"C:\\Test Template.xls"; wb = objExcel.Workbooks.Open(path, Missing.Value, Missing.Value , Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value); 我执行这个代码后,程序返回一个错误meesage“无法访问testingTemplate.xls”。 有人可以解释这个错误的原因,我很困惑..

将Excel文件读入.NET应用程序的更快的方法是:ADO.net或Microsoft.Office.Interop.Excel.Application?

我正在阅读一个非常大的Excel文件到一个VB.net应用程序。 用户在运行时从文件select器指定文件。 我目前正在使用Microsoft.Office.Interop.Excel.Application应用程序接口逐行读取Excel数据。 喜欢这个… first = Excel.Cells(rowindex, FirstColumnIndex).value 我需要读取大的Excel文件(80000行),当前的方法需要很长时间。 我想知道如果有更快的方法。 我知道可以使用ADO.net读取文件。 这是否更快? 有更快的方法吗? 注意显然,将这​​么多的数据保存在一个Excel文件中是不知道的,但是这就是我需要的数据(其他地方的一些数据)被存储的地方。

COM自动化后,Excel进程不会退出

我需要自动化一个特定版本的Excel(2003),与目标机器上安装的默认版本无关。 为此,我使用以下步骤: 通过向CreateProcess提供所需的可执行文件来启动Excel 使用EnumWindows和EnumChildWindowsfind主窗口 使用AccessibleObjectFromWindow从Excel对象模型中获取对象 通过COM智能指针做自动化的东西 这一切工作正常,但Excel进程不会终止后, ExcelApplication对象上退出 。 与Word相同的设置按预期工作,并且该过程终止。 任何关于为什么Excel行为不同的想法将不胜感激。 从.NET中自动化Excel时,我已经阅读了类似的问题,其中悬挂COM引用是原因。 但是,如果这也是我的C ++情况的原因,我不明白为什么。 即使除了退出 ,我什么都不做,这个过程依然存在: /* create process, get handle to accessible Excel window */ Excel11::_ApplicationPtr excelApplication; try { Excel11::WindowPtr::Interface* pInterface; if ( ::AccessibleObjectFromWindow( hwndExcelAccessible, OBJID_NATIVEOM, IID_IDispatch, reinterpret_cast< void** >( &pInterface ) ) == S_OK ) { excelApplication = pInterface->Application; pInterface->Release(); } } catch […]

任何方式来确定什么时候Excel后台打印完成?

我在LotusScript(Lotus Notes)中使用COM来使Excel在一个工作簿中将多个工作表打印到PDFCreator,然后将PDFCreator合并成一个PDF。 问题是调用Excel的PrintOut方法紧跟着PDFCreator的cCombineAll方法会导致一个或多个工作表从PDF中被省略。 在打印完成之前,Excel的PrintOut方法似乎就会返回。 睡在我的代码作品,但可能不可靠,因为打印时间变化,所以… 有什么Excel属性或方法,我可以打电话来确定是否打印完成? 或者,有没有办法使PrintOut方法阻塞,直到打印完成? 我一直无法在Excel的VBA帮助中find答案。

工作表。无保护 – Office Interop – 2003年和2007年之间的差异

我有一个.NET的WinForms应用程序自动化Excel和检查工作表密码。 要求能够检测到1)保护被closures2)密码被移除(被保护,但没有密码)3)密码与来自数据库的正确密码匹配 为了满足第二个要求,程序调用带有空string的Worksheet.Unprotect命令,捕获错误。 如果出现错误,则进行第三次检查。 如果没有错误,那么取消保护工作没有密码==>密码被删除。 下面的代码示例有这些检查。 该应用程序可以做到这一点与Office 2003的罚款。我有我的开发机更新到Office 2007,它不再像以前那样工作。 当我打电话给Worksheet.Unprotect,Excel提示input密码! 我需要知道如何在新版本的Excel中完成这项工作,或者如果有办法引用旧的PIA。 无论如何设置Excel 11的引用,在GAC中将其replace为12的PIA。 'return true if unprotect of worksheet does not generate an error 'all other errors will bubble up 'return false if specific error is "Password is invalid…" Try 'detect unprotected or no password If oWorksheet.ProtectContents Then 'try with no passsword and expect an […]