2023-11-30 分類: 網站建設
如果使用FILE、OpEN等函數(shù)直接讀取WORD,經常會出現(xiàn)亂碼。最初,我不得不使用COM。這是我在新 WORD 中讀取和存儲的簡單文件
一、 首先打開pHp.ini的COM,操作如下
1.
extension=php_com_dotnet.dll
2.
com.allow_dcom = true
二、開啟后,可以嘗試以下操作
1、為新的 COM 組件創(chuàng)建索引
$word = new COM("word.application") or die("Can't start Word!");
2、顯示當前使用的Word版本號
echo "Loading Word, v. {$word->Version}";
3、設置其可見性為0(),如果想在前端打開就用1(true)
$word->Visible = 0;
4、打開文檔
$word->Documents->open(dirname(__FILE__)."/1.doc");
5、閱讀文檔內容
$test= $word->ActiveDocument->content->Text;
6、輸出文檔內容
echo $test;
更多pHp中讀寫WORD文檔的代碼總結如下:
1.使用COM組件
? //?建立一個指向新COM組件的索引? $word?=?new?COM(”word.application”)?or?die(”Can't?start?Word!”);? //?顯示目前正在使用的Word的版本號? //echo?“Loading?Word,?v.?{$word->Version}
”;? //?把它的可見性設置為0(假),如果要使它在最前端打開,使用1(真)? //?to?open?the?application?in?the?forefront,?use?1?(true)? //$word->Visible?=?0;? //打?一個文檔? $word->Documents->Open(”d:\myweb\muban.doc”);? //讀取文檔內容? $test=?$word->ActiveDocument->content->Text;? echo?$test;? echo?“
”;? //將文檔中需要換的變量更換一下? $test=str_replace(”<{變量}>”,”這是變量”,$test);? echo?$test;? $word->Documents->Add();? //?在新文檔中添加文字? $word->Selection->TypeText(”$test”);? //把文檔保存在目錄中? $word->Documents[1]->SaveAs(”d:/myweb/comtest.doc”);? //?關閉與COM組件之間的連接? $word->Quit();? ?>?
2.是更簡潔的方法,可以跨平臺
以下是詳細代碼:
.word.php
HTML XMLns:o="urn:Schemas-microsoft-com:office:office"'; echo 'xmlns:w="urn:schemas-microsoft-com:office:word"'; echo 'xmlns="http://www.w3.org/TR/REC-html40">'; } function save($path){ echo "