導航:首頁 > 編程語言 > php調用com組件

php調用com組件

發布時間:2023-03-21 21:33:07

『壹』 php調用COM組件操作EXCEL文檔的問題

COM組件是通用的,如果你想用調用COM組件來操作EXCEL文檔,建議可以參考的工具和資料如下:

1. office (excel)VBA幫助文檔,VBA中包含對象、屬性、方法的說明。

2. 使用OCX、DLL等查看工具,比如:

oleview軟體

比較簡便的辦法,你可以下載 vbsEdit 軟體,其中帶有 oleview 查看工具,當你引入某個 com 組件時,會自動顯示該組件對象的方法、屬性等。

『貳』 如何用PHP調用自己編寫的COM組件

首先寫ActiveX Dll:

新建一個VB6工程,ActiveX Dll將工程命名為P_test,類名為c_test ,類的文件內容如下:

Option Explicit

Private MyscriptingContext As scriptingContext

Private MyApplication As Application

Private MyRequest As Request Private MyResponse As Response

Private MyServer As Server

Private MySession As Session Public

Sub OnStartPage(PassedscriptingContext As scriptingContext)

Set MyscriptingContext = PassedscriptingContext

Set MyApplication = MyscriptingContext.Application

Set MyRequest = MyscriptingContext.Request

Set MyResponse = MyscriptingContext.Response

Set MyServer = MyscriptingContext.Server

Set MySession = MyscriptingContext.Session

End Sub

Public Sub OnEndPage()

Set MyscriptingContext = Nothing

Set MyApplication = Nothing

Set MyRequest = Nothing

Set MyResponse = Nothing

Set MyServer = Nothing

Set MySession = Nothing

End Sub

Public Function Test_Number(num) As Variant

If num 0 Then Get_Number_Attrib = 1

If num = 0 Then Get_Number_Attrib = 0

End Function

編譯生成p_test.dll文件

注冊

提示符下運行:regsvr32 p_test.dll

編寫php文件,test.php4代碼如下:

<?php

$b=new COM("p_test.c_test");

$a=$b->Test_Number(-454);

echo $a;

?>

可能碰到的問題是,編譯工程時通不過,要將Microsoft Active Server Pages Object Library引用進來,具體實現"Project->References"找到改庫,並勾上 。

『叄』 php調用com組件exception 'com_exception' with message 'Failed to create COM object 'WPS.Application

COM組件雖然也是DLL擴展,但它不是PHP擴展,所以把Senc.dll拷貝到php/ext 目錄,然後在PHP.INI里載入是錯誤的,PHP也不認識它。
你這個是表示com組建不能使用,com組建在windows下需要注冊的額。

『肆』 PHP 調用COM組件問題求助,高分懸賞,求各位高手或有相似問題解決經歷的同學看看,不勝感謝!

$word->Documents是一個數組,這個數組里當然沒有SaveAs對象。

你應該:$word->Documents[0]->SaveAs("D:\\web\\online\\html\\".$name.".html",8);

另外,SaveAs裡面的地址不必要用反斜杠,用斜早或喚杠就可以。

下面的陸凱是官方手冊,你在頁面中用瀏覽器自帶的搜索功能(ctrl+F)搜索SaveAs就可以看到團嫌它的爽正確用法。

參考資料:
【The COM class】 http://www.php.net/manual/zh/class.com.php

『伍』 你好,請指導下php調用COM組件處理excel

以下一個php調用COM訪問excel的示例:

<?php
//指定頁面編碼,防止出現中文亂碼的情形
header('Content-type: text/html; charset=gb2312');

//啟動Excel
$ms_excel = new COM("excel.application") or die("不能打開Excel應用程序");

//打開excel文件
$ms_excel->Application->WorkBooks->Open( 'e:\test\test.xls') or die("不能打開工作簿");

//在工作簿的第2個工作表的單元格B1中輸入文本
$ms_excel->Worksheets(2)->Range("B1")->Value = "測試";

//保存工作簿
if(!$ms_excel->ActiveWorkBook->Saved)
{
$ms_excel->ActiveWorkBook->save();
}

//關閉工作簿
$ms_excel->Quit();

//清空對象
$ms_excel = null;
?>

『陸』 PHP調用COM組件操作WORD問題

hp // 建立一個指向新COM組件的索引 $word = new COM("word.application")

『柒』 php中有個com組件,它裡面都有哪些屬性和方法可以調用呢

先到PHP.INI中打開COM選項,com.allow_dcom = true


PHP 5.4.5後,com/dotnet 模塊已經成了單獨的擴展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 則不需要。否則的話,可能就是報錯 Fatal error: Class 'COM' not found 了


配置方法為:只需在擴展列表裡添加extension=php_com_dotnet.dll即可

另外需要了解的是,COM組件雖然也是DLL擴展,但它不是PHP擴展,所以把Senc.dll拷貝到php/ext 目錄,然後在PHP.INI里載入是錯誤的,PHP也不認識它


配置完畢後可以測試下,語句為

$word=newCOM("word.application")ordie("UnabletoinstanciateWord");
print"LoadedWord,version{$word->Version} ";

上面語句本機必須安裝了office才可以

openoffice的為:

$obj=newCOM("com.sun.star.ServiceManager")ordie("UnabletoinstanciateWord");
閱讀全文

與php調用com組件相關的資料

熱點內容
什麼是廊坊交警app 瀏覽:294
衣櫃造價演算法 瀏覽:984
默認的web伺服器地址 瀏覽:694
單片機與發光二極體 瀏覽:320
pythonwebmodule 瀏覽:328
空調壓縮機不停了 瀏覽:115
python序列怎麼取 瀏覽:199
線上資料庫加密怎麼查詢 瀏覽:794
js中數據加密 瀏覽:470
穴pdf 瀏覽:548
阿里雲伺服器雲資料庫還需要嗎 瀏覽:146
在程序設計中常用的演算法有哪些 瀏覽:977
為什麼蘇州公積金app一直維護 瀏覽:805
有ip地址但是dhcp伺服器 瀏覽:446
三星手機加密中斷怎麼回事 瀏覽:538
訓練模型init源碼 瀏覽:840
程序編譯是誰的功能 瀏覽:505
qq收藏怎樣設置加密 瀏覽:291
伺服器的視頻怎麼保存 瀏覽:350
下載暗黑2壓縮包解壓後無法啟動 瀏覽:747