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脚本数据库功能详解(上)
Oct 09 PHP
搜索和替换文件或目录的一个好类--很实用
Oct 09 PHP
调试一段PHP程序时遇到的三个问题
Jan 17 PHP
php输出echo、print、print_r、printf、sprintf、var_dump的区别比较
Jun 21 PHP
php导入csv文件碰到乱码问题的解决方法
Feb 10 PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 PHP
PHP生成条形图的方法
Dec 10 PHP
php里array_work用法实例分析
Jul 13 PHP
[原创]ThinkPHP中SHOW_RUN_TIME不能正常显示运行时间的解决方法
Oct 10 PHP
php 生成加密公钥加密私钥实例详解
Jun 16 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
Jun 22 PHP
PHP合并两个或多个数组的方法
Jan 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使用include 和require引入文件的区别
2017/02/16 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
2017/09/28 PHP
优化javascript的执行速度
2010/01/23 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
JS实现文件动态顺序载入的方法
2015/03/07 Javascript
AngularJS directive返回对象属性详解
2016/03/28 Javascript
Extjs 点击复选框在表格中增加相关信息行
2016/07/12 Javascript
JS遍历页面所有对象属性及实现方法
2016/08/01 Javascript
vue实现简单实时汇率计算功能
2017/01/15 Javascript
微信小程序商城项目之购物数量加减(3)
2017/04/17 Javascript
js实现京东轮播图效果
2017/06/30 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
vue2.0 实现导航守卫的具体用法(路由守卫)
2018/05/17 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
vue模块移动组件的实现示例
2020/05/20 Javascript
Python中的魔法方法深入理解
2014/07/09 Python
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
用Python的SimPy库简化复杂的编程模型的介绍
2015/04/13 Python
python中__call__内置函数用法实例
2015/06/04 Python
Python3 中文文件读写方法
2018/01/23 Python
python破解zip加密文件的方法
2018/05/31 Python
python 划分数据集为训练集和测试集的方法
2018/12/11 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
Django 多表关联 存储 使用方法详解 ManyToManyField save
2019/08/09 Python
Python函数的默认参数设计示例详解
2019/12/01 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
Agoda西班牙:全球特价酒店预订
2017/06/03 全球购物
英国Lookfantastic中文网站:护肤品美妆美发购物(英国直邮)
2020/04/27 全球购物
What's the difference between an interface and abstract class? (接口与抽象类有什么区别)
2012/10/29 面试题
简历上的自我评价
2014/02/03 职场文书
中介业务员岗位职责
2014/04/09 职场文书
员工试用期自我评价
2014/09/18 职场文书
2014年残疾人工作总结
2014/12/06 职场文书
小兵张嘎观后感
2015/06/03 职场文书
运动会加油稿50字
2015/07/21 职场文书