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
php sprintf()函数让你的sql操作更安全
Jul 23 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
解析centos中Apache、php、mysql 默认安装路径
Jun 25 PHP
php小经验:解析preg_match与preg_match_all 函数
Jun 29 PHP
php查询mysql大量数据造成内存不足的解决方法
Mar 04 PHP
php中实现可以返回多个值的函数实例
Mar 21 PHP
php设计模式之委托模式
Feb 13 PHP
PHP基于socket实现的简单客户端和服务端通讯功能示例
Jul 10 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
Apr 21 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
May 31 PHP
php apache开启跨域模式过程详解
Jul 08 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
web方式ftp
2006/10/09 PHP
php使浏览器直接下载pdf文件的方法
2013/11/15 PHP
解析PHP强制转换类型及远程管理插件的安全隐患
2014/06/30 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
wordpress之js库集合研究介绍
2007/08/17 Javascript
跨域表单提交状态的变相判断代码
2009/11/12 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
基于jquery的表头固定的若干方法
2011/01/27 Javascript
nullJavascript中创建对象的五种方法实例
2013/05/07 Javascript
jquery ajax修改全局变量示例代码
2013/11/08 Javascript
jquery中获取元素里某一特定子元素的代码
2014/12/02 Javascript
使用jquery+CSS实现控制打印样式
2014/12/31 Javascript
jQuery实现简单的滑动导航代码(移动端)
2017/05/22 jQuery
最全的JavaScript开发工具列表 总有一款适合你
2017/06/29 Javascript
Angular.js中数组操作的方法教程
2017/07/31 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
2018/08/01 Javascript
JQuery搜索框自动补全(模糊匹配)功能实现示例
2019/01/08 jQuery
js实现unicode码字符串与utf8字节数据互转详解
2019/03/21 Javascript
浅谈v-for 和 v-if 并用时筛选条件方法
2019/11/07 Javascript
vue 解决addRoutes多次添加路由重复的操作
2020/08/04 Javascript
js实现滚动条自动滚动
2020/12/13 Javascript
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python写的贪吃蛇游戏例子
2014/06/16 Python
简单实现python爬虫功能
2015/12/31 Python
浅谈Python实现贪心算法与活动安排问题
2017/12/19 Python
Python 带有参数的装饰器实例代码详解
2018/12/06 Python
python隐藏类中属性的3种实现方法
2019/12/19 Python
pycharm 使用anaconda为默认环境的操作
2021/02/05 Python
俄罗斯购买内衣网站:Trusiki
2020/08/22 全球购物
草莓网中国:StrawberryNet中国
2020/08/17 全球购物
材料物理专业求职信
2014/09/01 职场文书
考试没考好检讨书
2015/05/06 职场文书
人事行政部各岗位职责说明书!
2019/07/15 职场文书
2019开业庆典剪彩仪式主持词!
2019/07/22 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python