深圳全飞鸿

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 517|回复: 0
打印 上一主题 下一主题

PHPExcel库常用函数

[复制链接]

800

主题

1379

帖子

7704

积分

版主

Rank: 7Rank: 7Rank: 7

积分
7704
跳转到指定楼层
楼主
发表于 2021-6-11 19:20:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
PHPExcel库常用函数

//获取当前活动的表
$objPHPExcel->setActiveSheetIndex(0) ;
$objActSheet = $objPHPExcel->getActiveSheet();


合并单元格
function mergeCell ( $ fc , $ lc ) {
     global $ objActSheet ;
     $ objActSheet -> mergeCells ( $ fc . ":" . $ lc ) ;
}


合并单元格:$ObjPHPExcel->getActiveSheet()->mergeCells('A18:E22');
拆分单元格:$ObjPHPExcel->getActiveSheet()->unmergeCells('A18:E22');


单元格颜色
function setBg ( $ index ) {
     global $ objActSheet ;
     $ objActSheet -> getStyle ( $ index ) -> getFill ( ) -> setFillType ( PHPExcel_Style_Fill :: FILL_PATTERN_DARKUP ) ;
     $ objActSheet -> getStyle ( $ index ) -> getFill ( ) -> getStartColor ( ) -> setARGB ( 'FFFFFFFF' ) ;
}

设置背景颜色:填充方式(完全填充):$ObjPHPExcel->getStyle('B2')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
填充颜色:$objPHPExcel->getStyle('B2')->getFill()->getStartColor()->setARGB('FFFF0000');


设置边框
//函数:设置border
function setBorder ( $ index ) {
     global $ objActSheet ;
     $ objActSheet -> getStyle ( $ index ) -> getBorders ( ) -> getTop ( ) -> setBorderStyle ( PHPExcel_Style_Border :: BORDER _THIN ) ;
     $ objActSheet -> getStyle ( $ index ) -> getBorders ( ) -> getLeft ( ) -> setBorderStyle ( PHPExcel_Style_Border :: BORDER _THIN ) ;
     $ objActSheet -> getStyle ( $ index ) -> getBorders ( ) -> getRight ( ) -> setBorderStyle ( PHPExcel_Style_Border :: BORDER _THIN ) ;
     $ objActSheet -> getStyle ( $ index ) -> getBorders ( ) -> getBottom ( ) -> setBorderStyle ( PHPExcel_Style_Border :: BORDER _THIN ) ;
     $ objActSheet -> getStyle ( $ index ) -> getAlignment ( ) -> setHorizontal ( PHPExcel_Style_Alignment :: HORIZONTAL_CENTER ) ;
     $ objActSheet -> getStyle ( $ index ) -> getAlignment ( ) -> setVertical ( PHPExcel_Style_Alignment :: VERTICAL_CENTER ) ;
     $ objActSheet -> getStyle ( $ index ) -> getAlignment ( ) -> setWrapText ( true ) ;
}

设置边框:
    $styleArray = array(
        'borders' => array(
            'outline' => array(
                'style' => PHPExcel_Style_Border::BORDER_THICK,
                'color' => array('argb' => 'FFFF0000'),
            ),
        ),
    );
    $objWorksheet->getStyle('B2:G8')->applyFromArray($styleArray);
    调用getStyle()方法的,参数都可以通过数组的方式传入。

$style_array = array(
                'borders' => array(
                    'allborders' => array(
                        'style' => \PHPExcel_Style_Border::BORDER_THIN
                    )
                )                                                                                                                                                       );
            $sheet->getStyle('A1'.($start_row-1))->applyFromArray($style_array);


设置宽度
function setWidth ( $ index , $ width = 5 ) {
     global $ objActSheet ;
     $ objActSheet -> getColumnDimension ( gbkToUtf8 ( $ index ) ) -> setWidth ( $ width ) ;
}


设置值
function setValue ( $ index , $ value ) {
     global $ objActSheet ;
     $ objActSheet -> setCellValue ( $ index , gbkToUtf8 ( $ value ) ) ;
}
$objActSheet->setCellValue ( 'B3', '姓名' );



其他:

3.设置默认单元格水平方向居中:$ObjPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal( PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
4.设置默认单元格垂直方向居中:$ObjPHPExcel->getDefaultStyle()->getAlignment()->setvertical( PHPExcel_Style_Alignment::VERTICAL_CENTER);
5.设置默认字体样式:字体类型: $ObjPHPExcel->getDefaultStyle()->getFont()->setName('微软雅黑');
        字体大小:$ObjPHPExcel->getDefaultStyle()->getFont()->setSize(14);
6.设置指定字体样式:$ObjPHPExcel->getStyle('A18:E22')->getFont()->setName('微软雅黑');
        字体大小:$ObjPHPExcel->getStyle('A18:E22')->getFont()->setSize(14);
9.自动换行:  开启自动换行:$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setWrapText(true);
   在需要换行的值中添加\n,然后才能自动换行:$objPHPExcel->getActiveSheet()->getCell('A1')->setValue("hello\nworld");
10.设置单元格格式:  设置单元格格式为字符串(解决身份证活手机号格式为科学记数法):$objPHPExcel->getActiveSheet()->getCell('A1')->setValueExplicit('25', PHPExcel_Cell_DataType::TYPE_STRING);



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|nagomes  

GMT+8, 2025-5-5 00:44 , Processed in 0.028600 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表