php excel类 phpExcel使用方法介绍


Posted in PHP onAugust 21, 2010

下载地址:http://www.codeplex.com/PHPExcel

下面是总结的几个使用方法

include ‘PHPExcel.php';

include ‘PHPExcel/Writer/Excel2007.php';

//或者include ‘PHPExcel/Writer/Excel5.php'; 用于输出.xls的

创建一个excel

$objPHPExcel = new PHPExcel();

保存excel—2007格式

$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);

//或者$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel); 非2007格式

$objWriter->save("xxx.xlsx");

直接输出到浏览器

$objWriter = new PHPExcel_Writer_Excel5($objPHPExcel);

header("Pragma: public");

header("Expires: 0″);

header("Cache-Control:must-revalidate, post-check=0, pre-check=0″);

header("Content-Type:application/force-download");

header("Content-Type:application/vnd.ms-execl");

header("Content-Type:application/octet-stream");

header("Content-Type:application/download");;

header('Content-Disposition:attachment;filename="resume.xls"‘);

header("Content-Transfer-Encoding:binary");

$objWriter->save('php://output');

——————————————————————————————————————?

设置excel的属性:

创建人

$objPHPExcel->getProperties()->setCreator("Maarten Balliauw");

最后修改人

$objPHPExcel->getProperties()->setLastModifiedBy("Maarten Balliauw");

标题

$objPHPExcel->getProperties()->setTitle("Office 2007 XLSX Test Document");

题目

$objPHPExcel->getProperties()->setSubject("Office 2007 XLSX Test Document");

描述

$objPHPExcel->getProperties()->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.");

关键字

$objPHPExcel->getProperties()->setKeywords("office 2007 openxml php");

种类

$objPHPExcel->getProperties()->setCategory("Test result file");

——————————————————————————————————————?

设置当前的sheet

$objPHPExcel->setActiveSheetIndex(0);

设置sheet的name

$objPHPExcel->getActiveSheet()->setTitle('Simple');

设置单元格的值

$objPHPExcel->getActiveSheet()->setCellValue('A1′, ‘String');

$objPHPExcel->getActiveSheet()->setCellValue('A2′, 12);

$objPHPExcel->getActiveSheet()->setCellValue('A3′, true);

$objPHPExcel->getActiveSheet()->setCellValue('C5′, ‘=SUM(C2:C4)');

$objPHPExcel->getActiveSheet()->setCellValue('B8′, ‘=MIN(B2:C5)');

合并单元格

$objPHPExcel->getActiveSheet()->mergeCells('A18:E22′);

分离单元格

$objPHPExcel->getActiveSheet()->unmergeCells('A28:B28′);
保护cell

$objPHPExcel->getActiveSheet()->getProtection()->setSheet(true); // Needs to be set to true in order to enable any worksheet protection!

$objPHPExcel->getActiveSheet()->protectCells('A3:E13′, ‘PHPExcel');

设置格式

// Set cell number formats

echo date('H:i:s') . " Set cell number formatsn";

$objPHPExcel->getActiveSheet()->getStyle('E4′)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_CURRENCY_EUR_SIMPLE);

$objPHPExcel->getActiveSheet()->duplicateStyle( $objPHPExcel->getActiveSheet()->getStyle('E4′), ‘E5:E13′ );

设置宽width

// Set column widths

$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);

$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(12);

设置font

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFont()->setName('Candara');

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFont()->setSize(20);

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFont()->setBold(true);

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFont()->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

$objPHPExcel->getActiveSheet()->getStyle('E1′)->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);

$objPHPExcel->getActiveSheet()->getStyle('D13′)->getFont()->setBold(true);

$objPHPExcel->getActiveSheet()->getStyle('E13′)->getFont()->setBold(true);

设置align

$objPHPExcel->getActiveSheet()->getStyle('D11′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objPHPExcel->getActiveSheet()->getStyle('D12′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objPHPExcel->getActiveSheet()->getStyle('D13′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);

$objPHPExcel->getActiveSheet()->getStyle('A18′)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);

//垂直居中

$objPHPExcel->getActiveSheet()->getStyle('A18′)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

设置column的border

$objPHPExcel->getActiveSheet()->getStyle('A4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objPHPExcel->getActiveSheet()->getStyle('B4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objPHPExcel->getActiveSheet()->getStyle('C4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objPHPExcel->getActiveSheet()->getStyle('D4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

$objPHPExcel->getActiveSheet()->getStyle('E4′)->getBorders()->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);

设置border的color

$objPHPExcel->getActiveSheet()->getStyle('D13′)->getBorders()->getLeft()->getColor()->setARGB('FF993300′);

$objPHPExcel->getActiveSheet()->getStyle('D13′)->getBorders()->getTop()->getColor()->setARGB('FF993300′);

$objPHPExcel->getActiveSheet()->getStyle('D13′)->getBorders()->getBottom()->getColor()->setARGB('FF993300′);

$objPHPExcel->getActiveSheet()->getStyle('E13′)->getBorders()->getTop()->getColor()->setARGB('FF993300′);

$objPHPExcel->getActiveSheet()->getStyle('E13′)->getBorders()->getBottom()->getColor()->setARGB('FF993300′);

$objPHPExcel->getActiveSheet()->getStyle('E13′)->getBorders()->getRight()->getColor()->setARGB('FF993300′);

设置填充颜色

$objPHPExcel->getActiveSheet()->getStyle('A1′)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

$objPHPExcel->getActiveSheet()->getStyle('A1′)->getFill()->getStartColor()->setARGB('FF808080′);

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);

$objPHPExcel->getActiveSheet()->getStyle('B1′)->getFill()->getStartColor()->setARGB('FF808080′);

加图片

$objDrawing = new PHPExcel_Worksheet_Drawing();

$objDrawing->setName('Logo');

$objDrawing->setDescription('Logo');

$objDrawing->setPath('./images/officelogo.jpg');

$objDrawing->setHeight(36);

$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

$objDrawing = new PHPExcel_Worksheet_Drawing();

$objDrawing->setName('Paid');

$objDrawing->setDescription('Paid');

$objDrawing->setPath('./images/paid.png');

$objDrawing->setCoordinates('B15′);

$objDrawing->setOffsetX(110);

$objDrawing->setRotation(25);

$objDrawing->getShadow()->setVisible(true);

$objDrawing->getShadow()->setDirection(45);

$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

在默认sheet后,创建一个worksheet

echo date('H:i:s') . " Create new Worksheet objectn";

$objPHPExcel->createSheet();

$objWriter = PHPExcel_IOFactory::createWriter($objExcel, 'Excel5');

$objWriter-save('php://output');

PHP 相关文章推荐
php类
Nov 27 PHP
自己前几天写的无限分类类
Feb 14 PHP
发布一个用PHP fsockopen写的HTTP下载的类
Feb 22 PHP
兼容PHP5的PHP目录管理函数库
Jul 10 PHP
用PHP实现Ftp用户的在线管理
Feb 16 PHP
解析curl提交GET,POST,Cookie的简单方法
Jun 29 PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 PHP
thinkphp3.0输出重复两次的解决方法
Dec 19 PHP
CI框架中通过hook的方式实现简单的权限控制
Jan 07 PHP
php操作memcache缓存方法分享
Jun 03 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
PHP控制循环操作的时间
Apr 01 PHP
php下正则来匹配dede模板标签的代码
Aug 21 #PHP
php中使用ExcelFileParser处理excel获得数据(可作批量导入到数据库使用)
Aug 21 #PHP
使用VisualStudio开发php的图文设置方法
Aug 21 #PHP
利用Memcached在php下实现session机制 替换PHP的原生session支持
Aug 21 #PHP
ThinkPHP中实例Model方法的区别说明
Aug 21 #PHP
PHP 数组基础知识小结
Aug 20 #PHP
一个简单php扩展介绍与开发教程
Aug 19 #PHP
You might like
NT IIS下用ODBC连接数据库
2006/10/09 PHP
通过5个php实例细致说明传值与传引用的区别
2012/08/08 PHP
php模拟js函数unescape的函数代码
2012/10/20 PHP
Laravel中Facade的加载过程与原理详解
2017/09/22 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
laravel实现图片上传预览,及编辑时可更换图片,并实时变化的例子
2019/11/14 PHP
关于javascript document.createDocumentFragment()
2009/04/04 Javascript
JavaScript中获取未知对象属性的代码
2011/04/27 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
实用框架(iframe)操作代码
2014/10/23 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
jquery实现图片上传之前预览的方法
2015/07/11 Javascript
谈谈JavaScript自定义回调函数
2015/10/18 Javascript
纯js代码实现简单计算器
2015/12/02 Javascript
JS脚本实现动态给标签控件添加事件的方法
2016/06/02 Javascript
原生js仿淘宝网商品放大镜效果
2017/02/28 Javascript
Angular 2 利用Router事件和Title实现动态页面标题的方法
2017/08/23 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
在RedHat系Linux上部署Python的Celery框架的教程
2015/04/07 Python
Python文件与文件夹常见基本操作总结
2016/09/19 Python
Python 装饰器深入理解
2017/03/16 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
使用Python3+PyQT5+Pyserial 实现简单的串口工具方法
2019/02/13 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Python 实现数组相减示例
2019/12/27 Python
Python PyQt5整理介绍
2020/04/01 Python
把富文本的回车转为br标签
2019/08/09 HTML / CSS
Html5移动端适配IphoneX等机型的方法
2019/06/25 HTML / CSS
Html5+CSS3+EL表达式问题小结
2020/12/19 HTML / CSS
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
初中生期末考试的自我评价
2013/12/17 职场文书
热爱劳动主题班会
2015/08/14 职场文书
环境保护宣传标语大全!
2019/06/28 职场文书
分享7个 Python 实战项目练习
2022/03/03 Python