关于
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手册.
//当然你也可以这样用一句定义
/*
主要得到一种样式对象 设置右和下边框宽度为1,这样就可以显示黑色边框,字大小,边框色,前景色. 这是一种简单的写法和下面的用方法的功能是一样的.
$format_title =& $workbook->addFormat(array('right' => 1, 'bottom' => 1, 'size' => 9,
'pattern' => 1, 'bordercolor' => 'black',
'fgcolor' => 'yellow'));
当然这个还有很多的参数,具体的你可以参看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();
?>以上只是一个简单的例子只是为了让大家可以快速上手.更详细的还是要看PEAR手册.
