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 相关文章推荐
生成sessionid和随机密码的例子
Oct 09 PHP
php GD绘制24小时柱状图
Jun 28 PHP
php使用curl存储cookie的示例
Mar 31 PHP
国产PHP开发框架myqee新手快速入门教程
Jul 14 PHP
smarty中英文多编码字符截取乱码问题解决方法
Oct 28 PHP
PHP Try-catch 语句使用技巧
Feb 28 PHP
PHP创建/删除/复制文件夹、文件
May 03 PHP
PHP简单获取多个checkbox值的方法
Jun 13 PHP
PHP微信开发之微信录音临时转永久存储
Jan 26 PHP
thinkPHP中U方法加密传递参数功能示例
May 29 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
laravel 判断查询数据库返回值的例子
Oct 11 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文件及文件夹操作之创建、删除、移动、复制
2016/07/13 PHP
php+ajax实现无刷新文件上传功能(ajaxuploadfile)
2018/02/11 PHP
PHP ADODB实现分页功能简单示例
2018/05/25 PHP
比较搞笑的js陷阱题
2010/02/07 Javascript
jQuery Ajax调用WCF服务详细教程
2015/03/31 Javascript
Immutable 在 JavaScript 中的应用
2016/05/02 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
2016/09/14 Javascript
JS获取html元素的标记名实现方法
2016/10/08 Javascript
对称加密与非对称加密优缺点详解
2017/02/06 Javascript
vue-cli的webpack模板项目配置文件分析
2017/04/01 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
vue中父子组件注意事项,传值及slot应用技巧
2018/05/09 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
vue中使用rem布局代码详解
2019/10/30 Javascript
JS实现简单的表格增删
2020/01/16 Javascript
vue 使用原生组件上传图片的实例
2020/09/08 Javascript
javascript实现倒计时提示框
2021/03/02 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
2015/04/25 Python
在Python的Django框架中生成CSV文件的方法
2015/07/22 Python
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python通过属性手段实现只允许调用一次的示例讲解
2018/04/21 Python
python+pandas分析nginx日志的实例
2018/04/28 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
python将pandas datarame保存为txt文件的实例
2019/02/12 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
什么是命名空间(NameSpace)
2015/11/24 面试题
家长对孩子的评语
2014/04/18 职场文书
博士生专家推荐信
2014/09/26 职场文书
合作协议书范本
2014/10/25 职场文书
golang正则之命名分组方式
2021/04/25 Golang
MySQL8.0无法启动3534的解决方法
2021/06/03 MySQL
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers