Spreadsheet_Excel_Writer

关于 PEAR类库中用于操作EXCEL的类库Spreadsheet_Excel_Writer

首先安装Spreadsheet_Excel_Writer

仔细看PEAR手册其实:

File Formats->Spreadsheet_Excel_Writer扩展就只有四个类.

1.Spreadsheet_Excel_Writer类               
2.workbook 类                                    //当前EXCEL文件的操作
3.worksheet类                                    //负责对工作区的设置
4.format类                                            //负责对单元格样试设置

以下就拿PEAR中的一个例子说明,我们常用的用法.
复制内容到剪贴板
代码:
<?php
//引入类文件
require_once 'Spreadsheet/Excel/Writer.php';

//新建一个Spreadsheet_Excel_Writer对象.当你指定了文件件名,他会在当前目录下生民一个XLS文件。
$workbook = new Spreadsheet_Excel_Writer('test.xls');

//创建样试对象,你可以定义多个样试对象并将他们应用到你指定的单元格中.
//你可以设置边框大小,边框颜色,字体大小,颜色等样式,详细请看PEAR手册.
//当然你也可以这样用一句定义

$format_bold =& $workbook->addFormat();
//设置为样试为粗体
$format_bold->setBold();
//同样得到一个样试对象
$format_title =& $workbook->addFormat();
//设置为粗体
$format_title->setBold();
//设置字体色
$format_title->setColor('yellow');
$format_title->setPattern(1);
//设置单元格的前景色
$format_title->setFgColor('blue');

//创建一个工作区对象,添加一个工作区也就是SHEET
$worksheet =& $workbook->addWorksheet();

//设置从0到0列的宽试.这个函数可以设置列的宽度.第一个参数是开始列号,第二个参数是结束列号.第三个参数就是宽度值了.
//本函数还支持一种用法就是$worksheet->setColumn(0, 1, 30); 就是第0列和第一列宽度都是30
$worksheet->setColumn(0, 0, 30);

//在第0行0列单元格的内容设置为 "Quarterly Profits for Dotcom.Com" 并将单元格的样试设置为我们刚刚定义的$format_title
$worksheet->write(0, 0, "Quarterly Profits for Dotcom.Com", $format_title);
//以下同理,都是设置单元格的内容,只是坐标和内容不同
$worksheet->writeString(1, 0, "Quarter", $format_bold);
$worksheet->writeString(1, 1, "Profit", $format_bold);
$worksheet->writeString(2, 0, "Q1");
$worksheet->writeNumber(2, 1, 0); //当你写入一个数字类型的变量时最好用 writeNumber方法。当然你用write方法同样可以写入。不过由于类型不同在有些EXCEL打开时会提示类型不正确
$worksheet->writeString(3, 0, "Q2");
$worksheet->writeNumber(3, 1, 0);

//最后发送本文件到浏览器
$workbook->send('test.xls');
//关闭
$workbook->close();
?>
这个类还有一个功能很强大的功能就是它还可以输入EXCEL的函数。进行计算 。这就给了我们很大的自由
复制内容到剪贴板
代码:
<?php
//同样生成一个对象
$workbook = new Spreadsheet_Excel_Writer('rowcol.xls');
//建立一个工作区
$worksheet1 =& $workbook->addWorksheet("rowcol");
//写入数据
$first = 1;
$last = 10;
for ($i = $first; $i <= $last; $i++) {
    $worksheet1->write($i, 1, $i);
}
//设置要参加计算的两个单元格的位置
$cell1 = Spreadsheet_Excel_Writer::rowcolToCell($first, 1);
$cell2 = Spreadsheet_Excel_Writer::rowcolToCell($last, 1);
//写入最后汇总显示的 total=
$worksheet1->write($last + 1, 0, "Total =");
//写入功式
$worksheet1->writeFormula($last + 1, 1, "=SUM($cell1:$cell2)");

$workbook->close();

?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值