PHPExcel 之常用功能

PHPExcel基本操作:
定义EXCEL实体
即定义一个PHPEXCEL对象,并设置EXCEL对象内显示内容

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
// 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);

三、输出文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 如果需要输出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" );
}

设置一列的宽度:

?
1
$objPHPExcel ->getActiveSheet()->getColumnDimension( 'A' )->setWidth(15);

设置一行的高度:

?
1
$objPHPExcel ->getActiveSheet()->getRowDimension( '6' )->setRowHeight(30);

合并单元格:

?
1
$objPHPExcel ->getActiveSheet()->mergeCells( 'A1:P1' );

设置A1单元格加粗,居中:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$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);

给特定单元格中写入内容:

?
1
$objPHPExcel ->getActiveSheet()->setCellValue( 'A1' , 'Hello Baby' );

设置单元格样式(水平/垂直居中):
 

?
1
2
$objPHPExcel ->getActiveSheet()->getStyle( 'A1' )->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
   $objPHPExcel ->getActiveSheet()->getStyle( 'A1' )->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

设置单元格样式(黑色字体):

?
1
$objPHPExcel ->getActiveSheet()->getStyle( 'H5' )->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_BLACK); // 黑色

设置单元格格式(背景):

?
1
$objPHPExcel ->getActiveSheet()->getStyle( 'H5' )->getFill()->getStartColor()->setARGB( '00ff99cc' ); // 将背景设置为浅粉色

设置单元格格式(数字格式):

?
1
$objPHPExcel ->getActiveSheet()->getStyle( 'F' . $iLineNumber )->getNumberFormat()->setFormatCode( '0.000' );

给单元格中放入图片:

?
1
2
3
4
5
6
7
8
9
// 将数据中心图片放在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());


在单元格中设置超链接:

?
1
2
$objPHPExcel ->getActiveSheet()->setCellValue( 'H8' , iconv( 'gbk' , 'utf-8' , '燕南天' ));
$objPHPExcel ->getActiveSheet()->getCell( 'H8' )->getHyperlink()->setUrl( 'http://www.jb51.net/' );

设置单元格边框

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$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 );

转载于:https://www.cnblogs.com/bit5566/p/5188181.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值