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实现的MySQL通用查询程序
Mar 11 PHP
PHP 各种排序算法实现代码
Aug 20 PHP
php语言流程控制中的主动与被动
Nov 05 PHP
PHP 数组和字符串互相转换实现方法
Mar 26 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
Jul 15 PHP
php连接odbc数据源并保存与查询数据的方法
Dec 24 PHP
php+ajax实现无刷新数据分页的办法
Nov 02 PHP
php连接oracle数据库的方法(测试成功)
May 26 PHP
修改Laravel5.3中的路由文件与路径
Aug 10 PHP
Nginx下ThinkPHP5的配置方法详解
Aug 01 PHP
PHP检测一个数组有没有定义的方法步骤
Jul 20 PHP
PHP 进程池与轮询调度算法实现多任务的示例代码
Nov 26 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
利用phpExcel实现Excel数据的导入导出(全步骤详细解析)
2013/11/26 PHP
Yii清理缓存的方法
2016/01/06 PHP
PHP框架性能测试报告
2016/05/08 PHP
PHP实现对二维数组某个键排序的方法
2016/09/14 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
理解Javascript_07_理解instanceof实现原理
2010/10/15 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JavaScript运行过程中的“预编译阶段”和“执行阶段”
2015/12/16 Javascript
javascript事件委托的用法及其好处简析
2016/04/04 Javascript
浅析jquery unbind()方法移除元素绑定的事件
2016/05/24 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
jquery获取下拉框中的循环值
2017/02/08 Javascript
JavaScript调试之console.log调试的一个小技巧分享
2017/08/07 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
JavaScript EventEmitter 背后的秘密 完整版
2018/03/29 Javascript
jquery实现的简单轮播图功能【适合新手】
2018/08/17 jQuery
JavaScript Array对象基本方法详解
2019/09/03 Javascript
9种方法优化jQuery代码详解
2020/02/04 jQuery
vue通过过滤器实现数据格式化
2020/07/20 Javascript
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
Python 自动补全(vim)
2014/11/30 Python
Python列表(list)常用操作方法小结
2015/02/02 Python
Python闭包思想与用法浅析
2018/12/27 Python
浅谈Python 递归算法指归
2019/08/22 Python
Python3 A*寻路算法实现方式
2019/12/24 Python
浅谈python 调用open()打开文件时路径出错的原因
2020/06/05 Python
浅析两列自适应布局的3种思路
2016/05/03 HTML / CSS
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
Pure Collection美国官网:来自英国羊绒专家的奢华羊绒
2017/11/19 全球购物
英语系本科生个人求职信
2013/09/21 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
廉政教育的心得体会
2014/09/01 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
离婚起诉书范文2015
2015/05/19 职场文书