只適用在Windows 作業系統!
因為COM 是Windows 的技術,所以只有在Windows 上才能使用,不過WEB Server 沒有差別,apache 也可以順利運作。
參考資源
msdn (Excel Object Model Overview)
Excel 產生檔案
複製內容到剪貼板
代碼:
<?php
// starting excel
$excel =new COM("excel.application")or die("Unable to instanciate excel");
print "Loaded excel,version {$excel->Version}n";
//bring it to front
#$excel->Visible =1;//NOT
//dont want alerts ...run silent
$excel->DisplayAlerts =0;
//open document
$excel->Workbooks->Open("C:\m.xls");
//XlFileFormat.xlcsv file format is 6
//saveas command (file,format ......)
$excel->Workbooks[1]->SaveAs("c:\m.csv",6);
//closing excel
$excel->Quit();
//free the object
$excel->Release();
$excel =null;
?>
Excel xls->cvs
複製內容到剪貼板
代碼:
<?php
// starting excel
$excel =new COM("excel.application")or die("Unable to instanciate excel");
print "Loaded excel,version {$excel->Version}n";
//bring it to front
#$excel->Visible =1;//NOT
//dont want alerts ...run silent
$excel->DisplayAlerts =0;
//open document
$excel->Workbooks->Open("C:\m.xls");
//XlFileFormat.xlcsv file format is 6
//saveas command (file,format ......)
$excel->Workbooks[1]->SaveAs("c:\m.csv",6);
//closing excel
$excel->Quit();
//free the object
$excel->Release();
$excel =null;
?>
Excel DDE
複製內容到剪貼板
代碼:
<?
$excel =new COM("Excel.Application")or die("Unable to instanciate Excel");
print "Loaded excel,version {$excel->Version}n";
$excel->Visible =0;
$book=$excel->Workbooks->open("c://dde.xls");
$sheet=$book->Worksheets("Sheet1");
$a=$excel->DDEInitiate("Excel","c://dde.xls");
$c =$excel->DDEExecute($a,"A1:D1");
$Range=$sheet->Range("A1:D1");
$cell=$Range->Cells(1,4);
echo $cell->value;
$excel->DDETerminate($a);
$excel->Workbooks->Close();
unset($excel);
unset($a);
?>
Word 產生檔案
複製內容到剪貼板
代碼:
<?php
$word =new COM("word.application")or die("無法啟動Word 程式!");
// 在網頁上顯示我們啟動的Word 程式的版本
echo "Loading Word,v.{$word->Version}<br>";
// 讓我們剛才啟動的Word 不出現在畫面上
// 如果要讓使用者看見被啟動的Word 程式,把下面的值設成1(true)即可
$word->Visible =0;
//在Word 內新增一個檔案
$word->Documents->Add();
// 在新檔案裡面寫入一些文字
$word->Selection->TypeText("Testing 1-2-3...");
// 將產生的Word 檔案儲存在Windows 系統的暫存目錄下面
$word->Documents[1]->SaveAs("c:\a.doc");
// 關閉COM 元件
$word->Quit();
// 在網頁上顯示檔案已經建立完成的訊息
echo "Check for the file...";
?>