phpExcel中文帮助手册之常用功能指南


Posted in PHP onAugust 18, 2014

PHPExcel基本操作:
定义EXCEL实体
即定义一个PHPEXCEL对象,并设置EXCEL对象内显示内容

// Excel开始
// 准备EXCEL的包括文件
// Error reporting 
error_reporting(0);
// PHPExcel 
require_once dirname(__FILE__) . 'PHPExcel.php';
// 生成新的excel对象
$objPHPExcel = new PHPExcel();
// 设置excel文档的属性
$objPHPExcel->getProperties()->setCreator("Sam.c")
             ->setLastModifiedBy("Sam.c Test")
             ->setTitle("Microsoft Office Excel Document")
             ->setSubject("Test")
             ->setDescription("Test")
             ->setKeywords("Test")
             ->setCategory("Test result file");
// 开始操作excel表
// 操作第一个工作表
$objPHPExcel->setActiveSheetIndex(0);
// 设置工作薄名称
$objPHPExcel->getActiveSheet()->setTitle(iconv('gbk', 'utf-8', 'phpexcel测试'));
// 设置默认字体和大小
$objPHPExcel->getDefaultStyle()->getFont()->setName(iconv('gbk', 'utf-8', '宋体'));
$objPHPExcel->getDefaultStyle()->getFont()->setSize(10);

三、输出文件

// 如果需要输出EXCEL格式
if($m_exportType=="excel"){   
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
    // 从浏览器直接输出$filename
    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-excel;");
    header("Content-Type:application/octet-stream");
    header("Content-Type:application/download");
    header("Content-Disposition:attachment;filename=".$filename);
    header("Content-Transfer-Encoding:binary");
    $objWriter->save("php://output"); 
}
// 如果需要输出PDF格式
if($m_exportType=="pdf"){
    $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'PDF');
    $objWriter->setSheetIndex(0);
    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/pdf");
    header("Content-Type:application/octet-stream");
    header("Content-Type:application/download");
    header("Content-Disposition:attachment;filename=".$m_strOutputPdfFileName);
    header("Content-Transfer-Encoding:binary");
    $objWriter->save("php://output"); 
}

设置一列的宽度:

$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(15);

设置一行的高度:

$objPHPExcel->getActiveSheet()->getRowDimension('6')->setRowHeight(30);

合并单元格:

$objPHPExcel->getActiveSheet()->mergeCells('A1:P1');

设置A1单元格加粗,居中:

$styleArray1 = array(
  'font' => array(
    'bold' => true,
    'size'=>12,
    'color'=>array(
      'argb' => '00000000',
    ),
  ),
  'alignment' => array(
    'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
  ),
);
// 将A1单元格设置为加粗,居中
$objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray1);

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

给特定单元格中写入内容:

$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello Baby');

设置单元格样式(水平/垂直居中):
 

$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

设置单元格样式(黑色字体):

$objPHPExcel->getActiveSheet()->getStyle('H5')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); // 黑色

设置单元格格式(背景):

$objPHPExcel->getActiveSheet()->getStyle('H5')->getFill()->getStartColor()->setARGB('00ff99cc'); // 将背景设置为浅粉色

设置单元格格式(数字格式):

$objPHPExcel->getActiveSheet()->getStyle('F'.$iLineNumber)->getNumberFormat()->setFormatCode('0.000');

给单元格中放入图片:

// 将数据中心图片放在J1单元格内
$objDrawing = new PHPExcel_Worksheet_Drawing();
$objDrawing->setName('Logo');
$objDrawing->setDescription('Logo');
$objDrawing->setPath('test.jpg');
$objDrawing->setWidth(400);
$objDrawing->setHeight(123);
$objDrawing->setCoordinates('J1');
$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());

在单元格中设置超链接:

$objPHPExcel->getActiveSheet()->setCellValue('H8', iconv('gbk', 'utf-8', '燕南天'));
$objPHPExcel->getActiveSheet()->getCell('H8')->getHyperlink()->setUrl('https://3water.com/');

设置单元格边框

$styleThinBlackBorderOutline = array(
    'borders' => array (
       'outline' => array (
          'style' => PHPExcel_Style_Border::BORDER_THIN,  //设置border样式
          //'style' => PHPExcel_Style_Border::BORDER_THICK, 另一种样式
          'color' => array ('argb' => 'FF000000'),     //设置border颜色
      ),
   ),
);
$objPHPExcel->getActiveSheet()->getStyle( 'A4:E10')->applyFromArray($styleThinBlackBorderOutline);

//添加一个新的worksheet 
          $objExcel->createSheet(); 
          $objActSheet = $objExcel->getSheet($s); 
          $objActSheet->setTitle('表'.$GSheet);
PHP 相关文章推荐
PHP中其实也可以用方法链
Nov 10 PHP
php&mysql 日期操作小记
Feb 27 PHP
PHP中判断变量为空的几种方法分享
Aug 26 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
Mar 07 PHP
php生成图片验证码的方法
Apr 15 PHP
基于PHP实现商品成交时发送短信功能
May 11 PHP
php 实现Hash表功能实例详解
Nov 29 PHP
Yii2实现跨mysql数据库关联查询排序功能代码
Feb 10 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
ThinkPHP5 的简单搭建和使用详解
Nov 15 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 PHP
php文件上传原理与实现方法详解
Dec 20 PHP
PHP 导出Excel示例分享
Aug 18 #PHP
PHPer 需要了解的 5 个 Composer 小技巧
Aug 18 #PHP
PHP管理依赖(dependency)关系工具 Composer的自动加载(autoload)
Aug 18 #PHP
PHP实现取得HTTP请求的原文
Aug 18 #PHP
PHP管理依赖(dependency)关系工具 Composer 安装与使用
Aug 18 #PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 #PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
Aug 18 #PHP
You might like
浅析关于PHP位运算的简单权限设计
2013/06/30 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
用Laravel Sms实现laravel短信验证码的发送的实现
2018/11/29 PHP
PHP实现财务审核通过后返现金额到客户的功能
2019/07/04 PHP
jquery.ui.progressbar 中文文档
2009/11/26 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
jQuery实现form表单reset按钮重置清空表单功能
2012/12/18 Javascript
jQuery设置div一直在页面顶部显示的方法
2013/10/24 Javascript
全面理解面向对象的 JavaScript(来自ibm)
2013/11/10 Javascript
js简单实现删除记录时的提示效果
2013/12/05 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
HTML5+setCutomValidity()函数验证表单实例分享
2015/04/24 Javascript
jQuery实现模拟marquee标签效果
2015/07/14 Javascript
深入学习JavaScript中的原型prototype
2015/08/13 Javascript
JS实现1000以内被3或5整除的数字之和
2016/02/18 Javascript
利用vue实现模态框组件
2016/12/19 Javascript
xmlplus组件设计系列之树(Tree)(9)
2017/05/02 Javascript
JQuery扩展对象方法操作示例
2018/08/21 jQuery
vue移动端弹框组件的实例
2018/09/25 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
JavaScript实现拖拽和缩放效果
2020/08/24 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
python使用wmi模块获取windows下硬盘信息的方法
2015/05/15 Python
详细分析python3的reduce函数
2017/12/05 Python
Python中一行和多行import模块问题
2018/04/01 Python
通过python3实现投票功能代码实例
2019/09/26 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
如何把外网python虚拟环境迁移到内网
2020/05/18 Python
利用OpenCV中对图像数据进行64F和8U转换的方式
2020/06/03 Python
Django DRF路由与扩展功能的实现
2020/06/03 Python
django 将自带的数据库sqlite3改成mysql实例
2020/07/09 Python
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
2014年卫生保健工作总结
2014/12/08 职场文书
当幸福来敲门观后感
2015/06/01 职场文书
sql server 累计求和实现代码
2022/02/28 SQL Server
SpringBoot2零基础到精通之数据库专项精讲
2022/03/22 Java/Android