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 相关文章推荐
Optimizer与Debugger兼容性问题的解决方法
Dec 01 PHP
php的一些小问题
Jul 03 PHP
简单的php数据库操作类代码(增,删,改,查)
Apr 08 PHP
PHP获取当前页面完整URL的实现代码
Jun 10 PHP
php中隐形字符65279(utf-8的BOM头)问题
Aug 16 PHP
php模拟用户自动在qq空间发表文章的方法
Jan 07 PHP
[原创]php获取数组中键值最大数组项的索引值
Mar 17 PHP
迪菲-赫尔曼密钥交换(Diffie?Hellman)算法原理和PHP实现版
May 12 PHP
PHP获得数组交集与差集的方法
Jun 10 PHP
php计算整个目录大小的方法
Jun 19 PHP
PHP的自定义模板引擎
Mar 24 PHP
PHP延迟静态绑定使用方法实例解析
Sep 05 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解析url的三个示例
2014/01/20 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
javascript编程起步(第二课)
2007/02/27 Javascript
JS字符串累加Array不一定比字符串累加快(根据电脑配置)
2012/05/14 Javascript
javascript阻止scroll事件多次执行的思路及实现
2013/11/08 Javascript
jquery读取xml文件实现省市县三级联动的方法
2015/05/29 Javascript
详细分析使用AngularJS编程中提交表单的方式
2015/06/19 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
JavaScript实现点击出现图片并统计点击次数功能示例
2018/07/23 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
JavaScript 复制对象与Object.assign方法无法实现深复制
2018/11/02 Javascript
Vue 事件处理操作实例详解
2019/03/05 Javascript
JS实现联想、自动补齐国家或地区名称的功能
2020/07/07 Javascript
Python中使用partial改变方法默认参数实例
2015/04/28 Python
Django中传递参数到URLconf的视图函数中的方法
2015/07/18 Python
Python实现SSH远程登陆,并执行命令的方法(分享)
2017/05/08 Python
python中requests使用代理proxies方法介绍
2017/10/25 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
2018/06/19 Python
python2.7和NLTK安装详细教程
2018/09/19 Python
OpenCV+python实现膨胀和腐蚀的示例
2020/12/21 Python
轻松掌握CSS3中的字体大小单位rem的使用方法
2016/05/24 HTML / CSS
美国顶级户外凉鞋品牌:Chacos
2017/03/27 全球购物
英国最大的宠物商店:Pets at Home
2019/04/17 全球购物
新东网科技Java笔试题
2012/07/13 面试题
初中生个人学习的自我评价
2013/12/04 职场文书
小学生九一八纪念日83周年演讲稿500字
2014/09/17 职场文书
2014年工程师工作总结
2014/11/25 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
2019年英语版感谢信(8篇)
2019/09/29 职场文书
导游词之塘栖古镇
2019/12/04 职场文书
新手初学Java网络编程
2021/07/07 Java/Android
Python下载商品数据并连接数据库且保存数据
2022/03/31 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python
MySQL数据库优化之通过索引解决SQL性能问题
2022/04/10 MySQL
PyTorch中permute的使用方法
2022/04/26 Python