用com类直接生成*.xls文件。
<?php
$workbook = "C:Program FilesMicrosoft officeOfficeSamplesSOLVSAMP.XLS";
$sheet = "Quick Tour";
$ex = new COM("Excel.sheet") or Die ("Did not connect");
print "程序名称:{$ex->Application->value}<BR>" ;
print "版本:{$ex->Application->version}<BR>";
$wkb = $ex->application->Workbooks->Open($workbook) or Die ("Did not open");
$ex->Application->ActiveWorkbook->SaveAs("Ourtest");
#$ex->Application->Visible = 1; #去掉注释可以让Excel可见#读取一个单元格的内容(E11)
$sheets = $wkb->Worksheets($sheet); #选择工作表
$sheets->activate; #激活
$cell = $sheets->Cells(11,5) ; #选择单元格(行列号)
$cell->activate; #激活
print "Old Value = {$cell->value} <BR>"; #打印内容:10000
$cell->value = 15000; #改为15000
print "New value = {$cell->value}<BR> "; #打印新内容:15000#最后,重新计算工作表
$sheets->Calculate; #当计算选项是手工时需要
#看看结果total cost(单元格E13)
$cell = $sheets->Cells(13,5) ; #选择单元格
$number = Number_format($cell->value);
print "New Total cost =$$number - was $47,732 before.<BR>";
#将会打印$57,809#使用Excel的内置函数:
#Function: PMT(percent/12 months,Number of payments,Loan amount)
$pay = $ex->application->pmt(0.08/12,10,10000);
$pay = sprintf("%.2f",$pay);
print "Monthly payment for $10,000 loan @8% interest /10 months: $ $pay<BR>";
#将会打印monthly payment = $ -1,037.03#保存改过的工作簿
$ex->Application->ActiveWorkbook->SaveAs("Ourtest");
#关闭所有工作簿
$ex->application->ActiveWorkbook->Close("False");
unset ($ex);
?>