php生成excel完整实例代码,PHP操作EXCEL的示例代码,包括生成新文件、新sheet、动态生成chart(转载)...

a4c26d1e5885305701be709a3d33442f.png

PHP操作EXCEL的示例代码,包括生成新文件、新sheet、动态生成chart(转载)

(2007-02-26 16:34:37)

分类:

PHP

#新建一个COM对象。

$exapp = new COM("Excel.application") or Die ("Did not

connect");#我试过用这个方法打开一个已有的excel文档是不行的,我是office97,office2k下行不行,我没试。office97下可以用

$exapp = new COM("Excel.sheet") or Die ("Did not

connect");这种方式来打开一个已有的excel文件进行操作,但这个方法有bug.具体自己去试吧。

$exapp->SheetsInNewWorkbook =

1;#设定新建的workbook只有一个sheet

$exapp->Application->Visible =

1;#设定新建的workbook可见,不知为何,我的总是不可见。

$exapp->DisplayAlerts = True;#不显示警告提示

$wkb=$exapp->Workbooks->add();#新添加一个workbook

$sheets = $wkb->Worksheets(1);#取得sheet对象

$sheets->activate;

$sheets->name="InterDailyUsage";#设置sheet的名称

$maxi=20;

#开始填充sheet里的每个cell.

for ($i=1;$i

$cell = $sheets->Cells($i,1);

$cell->activate;

$cell->value = $i*$i;

$cell = $sheets->Cells($i,2);

$cell->activate;

$cell->value = $i*$i*2;

$cell = $sheets->Cells($i,3);

$cell->activate;

$cell->value = $i*$i*3;

}

#取三个常量为下面的chart中的series命名作准备

$ce = $sheets->Cells(1,1);

$s1 = $ce->value;

$ce = $sheets->Cells(1,2);

$s2 = $ce->value;

$ce = $sheets->Cells(1,3);

$s3 = $ce->value;

#新建一个chart对象

$co = $wkb->Charts->Add();

$co->name = "Daily SMS Usage";#设置chart的名称

$co->activate;

$co->ChartType=65;

#设置chart的标题

$co->HasTitle = True;

$co->ChartTitle->Text = "Daily SMS Usage";

#为chart添加数据源

$selected = $sheets->range("B1:B$maxi,C10:C$maxi");

$co->setsourcedata($selected,2);#2表示以xlColomns形式表示

/*

#以新添加的方式添加series

$ser = $co->SeriesCollection(0);

$ser->delete;#奇怪,这里老是删除不掉,懒得再试了。

$selected = $sheets->range("B1:B$maxi");

$ser = $co->SeriesCollection->NewSeries();

$ser->name = $s1;

$ser->values = $selected;

$selected = $sheets->range("C1:C$maxi");

$ser = $co->SeriesCollection->NewSeries();

$ser->name = $s2;

$ser->values = $selected;

*/

$ser = $co->SeriesCollection(1);

$ser->name = $s1;

$ser = $co->SeriesCollection(2);

$ser->name = $s2;

#$ser = $co->SeriesCollection(3);

#$ser->name = $s3;

#为X轴添加数据源

$selected = $sheets->range("A1:A$maxi");

$ax = $co->Axes(1);

$ax->CategoryNames = $selected;

#保存成文件。

$f = getcwd();

$file_name=$f."\\test4.xls";

if (file_exists($file_name)) {unlink($file_name);}

#echo $file_name;

$wkb->SaveAs($file_name); # saves sheet as final.xls

$exapp->Quit();

unset($exapp);

#header("Content-type:application/vnd.ms-excel");

#header("Content-Disposition: attachment;

filename=test4.xls");

#header("Location:test4.xls");

?>

分享:

a4c26d1e5885305701be709a3d33442f.png喜欢

0

a4c26d1e5885305701be709a3d33442f.png赠金笔

加载中,请稍候......

评论加载中,请稍候...

发评论

登录名: 密码: 找回密码 注册记住登录状态

昵   称:

评论并转载此博文

a4c26d1e5885305701be709a3d33442f.png

发评论

以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值