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 的几个配置文件函数
Dec 21 PHP
解决php中Cannot send session cache limiter 的问题的方法
Apr 27 PHP
PHP中的cookie不用刷新就生效的方法
Feb 04 PHP
PHP的curl实现get,post和cookie(实例介绍)
Jun 17 PHP
自定义session存储机制避免会话保持问题
Oct 08 PHP
Laravel模板引擎Blade中section的一些标签的区别介绍
Feb 10 PHP
php遍历解析xml字符串的方法
May 05 PHP
PHP微信红包生成代码分享
Oct 06 PHP
php修改数组键名的方法示例
Apr 15 PHP
php实现的后台表格分页功能示例
Oct 23 PHP
360搜索引擎自动收录php改写方案
Apr 28 PHP
PHP设计模式之工厂模式(Factory Pattern)的讲解
Mar 21 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
PHP 抓取网页图片并且另存为的实现代码
2010/03/24 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
2011/11/26 PHP
PHP仿盗链代码
2012/06/03 PHP
常见php数据文件缓存类汇总
2014/12/05 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
JQuery扩展插件Validate—4设置错误提示的样式
2011/09/05 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
jQuery实现当前页面标签高亮显示的方法
2015/03/10 Javascript
解读Bootstrap v4 sass设计
2016/05/29 Javascript
QRCode.js:基于JQuery的生成二维码JS库的使用
2017/06/23 jQuery
JS设计模式之策略模式概念与用法分析
2018/02/05 Javascript
vue实例中data使用return包裹的方法
2018/08/27 Javascript
Vue弹出菜单功能的实现代码
2018/09/12 Javascript
Angularjs之ngModel中的值验证绑定方法
2018/09/13 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
发布Angular应用至生产环境的方法
2018/12/10 Javascript
javascript的this关键字详解
2019/05/20 Javascript
javascript防抖函数debounce详解
2019/06/11 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
jQuery实现二级导航菜单的示例
2020/09/30 jQuery
Python编程中对文件和存储器的读写示例
2016/01/25 Python
Python调用ctypes使用C函数printf的方法
2017/08/23 Python
Python数据可视化库seaborn的使用总结
2019/01/15 Python
Python利用PyExecJS库执行JS函数的案例分析
2019/12/18 Python
python使用正则表达式(Regular Expression)方法超详细
2019/12/30 Python
英国邮购活的植物主要供应商:Gardening Direct
2019/01/28 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
新西兰优惠网站:Treat Me
2019/07/04 全球购物
浙大网新C/C++面试解惑
2015/05/27 面试题
护士试用期自我鉴定
2014/02/08 职场文书
文明生主要事迹
2014/05/25 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
实习证明模板
2015/06/16 职场文书
MySQL中distinct和count(*)的使用方法比较
2021/05/26 MySQL
Java方法重载和方法重写的区别到底在哪?
2021/06/11 Java/Android
关于@OnetoMany关系映射的排序问题,使用注解@OrderBy
2021/12/06 Java/Android