PHPExcel使用笔记 - 常见操作总结

最近做项目时,PHPExcel插件用得比较频繁,将其常见的操作总结一下…

$objPHPExcel->getDefaultStyle()->getFont()->setName('微软雅黑');  // 设置字体
$objPHPExcel->getDefaultStyle()->getFont()->setSize(11); // 设置字号
$monthDate = $sheet->setCellValueExplicitByColumnAndRow($colIndex,2, '');  // 填充内容

$monthDate->getStyleByColumnAndRow($colIndex, $rowIndex)->getAlignment()->setWrapText(true)->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER)->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);

$monthDate->getColumnDimensionByColumn($col)->setWidth(5);
setWrapText(true): 单元格内换行

setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER): 设置水平对齐

setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER): 设置垂直对齐

设置单元格的背景颜色:

$sheet->getStyleByColumnAndRow($colIndex,2, $colIndex,2)->getFill()->setFillType(\PHPExcel_Style_Fill::FILL_SOLID);
$sheet->getStyleByColumnAndRow($colIndex,2, $colIndex,2)->getFill()->getStartColor()->setRGB('BEBEBE');
// setARGB 只有 RED、GREEN两种常见的颜色...

使用数组方式设置样式:

$styleArray = array(
'borders' => array(
'allborders' => array(
'style' => \PHPExcel_Style_Border::BORDER_THIN
)
)
); $sheet->getStyleByColumnAndRow(0, 1, $colIndex, $rowIndex-1)->applyFromArray($styleArray);

合并单元格并填充内容:

$sheet->mergeCellsByColumnAndRow(0,$rowIndex+1,$colIndex,$rowIndex+1)->setCellValueByColumnAndRow(0, $rowIndex+1, 'content');

给所有的单元格设置边框:

        $objPHPExcel->getActiveSheet()->getStyle('A1:' .
$objPHPExcel->getActiveSheet()->getHighestColumn() .
($objPHPExcel->getActiveSheet()->getHighestRow()-1))->applyFromArray($styleArray);

给字体设置下划线,超链接形式,加上蓝色即可:

    $sheet->getStyleByColumnAndRow(3, $rowIndex)->getFont()->setUnderline()->setUnderline(true);

或:

$styleArray = array(
'font' => array(
'underline' => PHPExcel_Style_Font::UNDERLINE_SINGLE
)
); $objPHPExcel->getActiveSheet()->getStyle('A1')->applyFromArray($styleArray);

给所有单元格设置自适应高度:

foreach($objPHPExcel->getActiveSheet()->getRowDimensions() as $rd) {
$rd->setRowHeight(-1); // 给所有单元格设置自适应高度, 高度随着内容变化
}

http://stackoverflow.com/questions/6054444/how-to-set-auto-height-in-phpexcel

相关链接:

php - How to Apply Borders to All Cells, Not a Range! - Stack Overflow http://stackoverflow.com/questions/16298311/how-to-apply-borders-to-all-cells-not-a-range33

php - PHPEXCEL set border and format for all sheets in spreadsheet - Stack Overflow http://stackoverflow.com/questions/19397953/phpexcel-set-border-and-format-for-all-sheets-in-spreadsheet

php - PHPEXCEL set border and format for all sheets in spreadsheet - Stack Overflow http://stackoverflow.com/questions/19397953/phpexcel-set-border-and-format-for-all-sheets-in-spreadsheet

php - How to do the phpexcel Outside Border - Stack Overflow http://stackoverflow.com/questions/27764204/how-to-do-the-phpexcel-outside-border

PHPExcel使用笔记的更多相关文章

  1. PHPExcel 学习笔记

    首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把class ...

  2. PHPExcel 使用笔记

    获取sheet 有效效值行列数 $maxCell = $objWorksheet->getHighestRowAndColumn(); $data = $objWorksheet->ran ...

  3. [moka同学笔记]PHPexcel之excel导出和导入

    原案例来自http://www.sucaihuo.com/有修改 1.目录结构(文件不用解释,应该都可以看得懂,直接看代码)

  4. PhpExcel笔记,phpExcel中文帮助手册

    下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...

  5. PHP7 学习笔记(十二)PHPExcel vs PhpSpreadsheet and PHP_XLSXWriter

    前言 PhpSpreadsheet是PHPExcel的下一个版本. 它打破了兼容性,极大地提高了代码库的质量(命名空间,PSR合规性,使用最新的PHP语言功能等).由于所有努力都转移到了PhpSpre ...

  6. PHPExcel笔记

    PHPExcel可是个好东东,功能强大,下面这是一个phpExcel简易中文帮助手册,列举了各种属性,以及常用的操作方法,是每一个都用实例加以说明,希望对大家有所帮助. 引用PHPExcel incl ...

  7. PHPExcel中文开发手册翻译版(2)

    2016年8月18日12:45:14 请注意这个是粗翻译版,仅供参考,不是精校版 精校版后面才会更新 PHPExcel开发者文档 1.目录 2. 4先决条件 2.1.软件要求4 2.2.安装说明4 2 ...

  8. PhpExcel 删除默认的Sheet

    最近使用ThinkPHP的第三方插件PheExcel导出多语言文件,但导出的文档中最后一个Sheet并不是我Code生成的 因为导出后的文件编辑后会再导入到系统中,因此对于该sheet必须删除掉[经测 ...

  9. PHPExcel合并与拆分单元格

      $objPHPExcel; $filepath="c:\temp.xlsx"; try { $objReader = PHPExcel_IOFactory::createRea ...

随机推荐

  1. c++之STL容器删除元素

    1.删除容器中特定值的元素 如果是容器vector,string,,deque,使用erase-remove 例如:erase-remove 注:因为container没有remove,contain ...

  2. 绕最新版安全狗-附上sqlmap的tamper

    在t00ls 里面我发的,放博客分享 记录一下 小菜写文章,太菜 希望大佬放过我!  主要分享一下,绕狗的思路环境:windows7 + phpstudy + safedog v4.0  + Mysq ...

  3. (转载)Linux终端复用神器-Tmux使用

    Linux终端复用神器-Tmux使用 转载地址:https://blog.51cto.com/652465/2094738 Tmux是一个优秀的终端复用软件,类似GNU Screen,但来自于Open ...

  4. Newtonsoft.Json输出Json时动态忽略属性

    一,前言 最近做项目采用Json形式和其他客户端交互,借助于Newtonsoft.Json . 由于业务场景不同,输出的Json内容也不同.要想忽略的属性,可以借助Newtonsoft.Json的特性 ...

  5. 一年前的很水的渣网页(第一次html试水)

    <!doctype html> <html lang="zh-cn"> <base target="_blank" /> & ...

  6. 06flask_migrate

    1,flask-migrate介绍: 因为采用db.create_all()在后期修改字段的时候不会自动的映射到数据库中,必须删去表,然后运行 db.create_all()才会重新映射,这样不符合我 ...

  7. Android Keystore 对称-非对称加密

    Android数据加密: Anroid数据加密方式 Android 提供了 KeyStore 等可以长期存储和检索加密密钥的机制,Android KeyStore 系统特别适合于存储加密密钥. “An ...

  8. 可视化利器Visdom

    可视化利器Visdom 最近在使用Pytorch炼丹,单纯地看命令行输出已经无法满足调试的需求,尝试了facebook开源的visdom,感觉非常优雅,支持numpy和torch 安装 $ pip i ...

  9. java常用数据类型使用Day008

    1,java常用数据类型使用 package cn.edu.fhj.day008; import java.util.ArrayList; import java.util.HashMap; impo ...

  10. SpringBoot报错:Table 'database_name.hibernate_sequence' doesn't exist

    引起条件: SpringBoot+JPA插入包含自增字段的对象 @Id @GeneratedValue private Integer id; 解决方法: 给注解添加属性 @Id @Generated ...