前言(说在前面的话)
作为开发人员,我们使用数据库来管理数据,但是作为公司的运营同事、销售同事。。不一定会使用一些客户端的数据库软件(sequel Pro、Navicat等),他们当中大多数习惯使用Excel来对数据进行操作。为了让公司的工作效率提高,作为研发的我需要将数据通过程序导入到特定的Excel中供其他同事使用。
由于以上所谓的”理由”,本博客就这针对于PHPExcel库使用进行讲解。PHPExcel可是个好东东,功能强大,下面这是一个phpExcel简易中文帮助手册,列举了各种属性,以及常用的操作方法,是每一个都用实例加以说明,希望对大家有所帮助。
也许也有人不知道PHPExcel是什么
PHPExcel
: 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格.
由于最近本人在实际的项目开发中需要使用这库做一些报表数据的录入,所以对这库进行了稍微深入的学习,并用此博客进行说明。
话就不多说,我们直接进入主题–怎么使用PHPExcel这扩展库
首先你得先引用并实例化一个PHPExcel对象去操作Excel吧
|
|
设置属性
|
|
同样你也可以这样设置,”一步到位”,”链式”设置
|
|
设置当前的sheet
|
|
设置sheet的标题
|
|
设置单元格宽度
|
|
设置单元格高度
|
|
合并单元格
|
|
拆分单元格
|
|
设置保护cell,保护工作表
|
|
设置格式
|
|
设置字体加粗
|
|
设置水平对齐方式(HORIZONTAL_RIGHT,HORIZONTAL_LEFT,HORIZONTAL_CENTER,HORIZONTAL_JUSTIFY)
|
|
设置垂直居中
|
|
设置字号
|
|
设置边框
|
|
设置边框颜色
12345678 # 左边框$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()->getRight()->getColor()->setARGB('FF993300');插入图像
1234567891011121314151617 $objDrawing = new PHPExcel_Worksheet_Drawing();# 设置图片路径 切记:只能是本地图片$objDrawing->setPath('图像地址');# 设置图片高度$objDrawing->setHeight(180);# 设置照片宽度$objDrawing->setWidth(150);# 设置图片要插入的单元格$objDrawing->setCoordinates('E2');# 设置X(水平)偏移量(相当于设置的单元格水平偏移,正数:水平右平移,负数:水平左平移)$objDrawing->setOffsetX(5);# 设置Y(垂直)偏移量(相当于设置的单元格垂直偏移,正数:垂直上平移,负数:垂直下平移)$objDrawing->setOffsetY(5);$objDrawing->setRotation(5);$objDrawing->getShadow()->setVisible(true);$objDrawing->getShadow()->setDirection(50);$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());设置单元格背景色
|
|
数据写入
|
|
最后输出到浏览器,导出Excel
1234567891011121314 $savename='导出Excel示例';$ua = $_SERVER["HTTP_USER_AGENT"];$datetime = date('Y-m-d', time());if (preg_match("/MSIE/", $ua)) {$savename = urlencode($savename); //处理IE导出名称乱码}# excel头参数header('Content-Type: application/vnd.ms-excel');# 日期为文件名后缀header('Content-Disposition: attachment;filename="'.$savename.'.xls"');header('Cache-Control: max-age=0');#excel5为xls格式,excel2007为xlsx格式$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('php://output');输出到本地电脑
123456 # 输出到本地目录路径$path = /usr/local/;# 文件名称$fileName = $path.'测试Excel.xls';$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save($path);
以上是本人在工作中用到的PHPExcel类库的方法,以上方法掌握了,对基本的Excel操作足矣。。。。如果要更深的操作就去看看PHPExcel原文的,稍微需要有点英语基础语言。