PHPExcel常用属性使用

本文详细介绍PHPExcel库中单元格样式的设置方法,包括单元格对齐方式、字体设置、背景色、单元格合并及自动筛选等功能,适用于需要精细化控制Excel文件输出的开发者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

前景:

  需先实例化几个变量:

$this->objExcel = new PHPExcel();  						//实例化一个PHPExcel变量

$this->objExcel->setActiveSheetIndex(0);  				//设置要操作的Sheet页

$this->objActSheet = $this->objExcel->getActiveSheet();  //获取当前要操作的Sheet页

$objStyle = $this->objActSheet->getStyle('A1');  			//获取要设置单元格的样式,括号里的内容也可是:('A1:E1')

$objAlign = $objStyle->getAlignment();  					//用来设置对齐属性和单元格内文本换行的一个变量

$objFont = $objStyle->getFont();  						//获得字体属性

 常用属性:

  1、设置Sheet名称:

      //设置当前活动sheet的名称

$this->objActSheet->setTitle($title);

   2、设置对齐和单元格内换行

    2.1、水平对齐

      //设置单元格内容水平对齐      

$objAlign->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

      说明:

        水平对齐的变量有:PHPExcel_Style_Alignment::HORIZONTAL_LEFT、PHPExcel_Style_Alignment::HORIZONTAL_CENTER、PHPExcel_Style_Alignment::HORIZONTAL_RIGHT;

        具体含义分别为:左对齐、居中对齐、右对齐。

     2.2、竖直对齐

$objAlign->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);

      说明:

           竖直对齐的变量有:PHPExcel_Style_Alignment::VERTICAL_TOP、PHPExcel_Style_Alignment::VERTICAL_CENTER、PHPExcel_Style_Alignment::VERTICAL_BOTTOM

           具体含义分别为:顶部对齐、竖直居中对齐、底部对齐

     2.3、单元格内换行

$objAlign->setWrapText(true);

      说明:

        1、此举是为了实现单元格内可以手动指定换行的位置。只要指定的文本本身是换行的,或者插入换行符('\n')。

        2、要换行的文字,外面必须是双引号

      例如:

        文本设置为:$arr['header'] = "哈哈\nHelloWorld";

        显示的效果为:

              哈哈
              HelloWorld

  3、设置字体、颜色等

   3.1、设置字体

$objFont->setName('微软雅黑' );  //设置要使用的字体

     3.2、设置字号

 $objFont->setSize( 11 );

     3.3、设置加粗

$objFont->setBold( false );

     3.4、设置字颜色

 $objFont->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE); 

      说明:

       1、其颜色组成为:Alpha(透明度)通道+RGB色彩模式

       2、ARGB---Alpha,Red,Green,Blu

       3、一般我自己用的值都是"FF"+RGB的颜色值,如:"FFCC15DD"

  4、单元格设置:

   4.1、设置背景色  

$objStyle->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
$objStyle->getFill()->getStartColor()->setARGB('FF595959');

   4.2、设置宽度

$this->objActSheet->getColumnDimension($widthStr)->setWidth('27.45');

   4.3、设置高度

$this->objActSheet->getRowDimension($heightStr)->setRowHeight('27.45');

   4.4、单元格合并

$this->objActSheet->mergeCells('A1:I1');    //里面指定要合并的单元格范围

  5、其他设置:

   5.1、设置自动筛选

$this->objActSheet->setAutoFilter("A2:B2");

说明:
当前笔者比较愚笨,还不能做到随意指定设置自动筛选的方法。

   5.2、单元格格式设置防止科学计数法     

//设置单元格格式(防止科学技术法)
$numberFormat = $objStyle->getNumberFormat();
$numberFormat->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

    说明:         

    读取的时候一定要用:getFormattedValue(),这样可以一定程度上减少读出科学计数法的数。虽然php有方法转换科学计数法,但是会遭遇精度丢失的情况。

    笔者现在最头疼的一个问题就是科学计数法,现在还未有非常好的解决方案,现在能解决的方法都不彻底。笔者会继续探索! 

            另:本文作者之前对于科学计数法的解决方法对给单元格赋值的数字加上个空格,这样就变成了字符串而不是数字,避开科学计数法,大家也可以参考着试一下。

转自:PHPExcel常用属性使用

虽然没有一一试过上文说的是不是可以用,但至少设置单元格内换行这个需求上文所说的可以实现的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值