Home >php教程 >PHP源码 >PHPExcel用法详细的介绍

PHPExcel用法详细的介绍

WBOY
WBOYOriginal
2016-06-08 17:24:471000browse

PHPExcel用法有需要的朋友可以参考一下。

<script>ec(2);</script>

PHPExcel下载地址:http://phpexcel.codeplex.com/

导入PHPExcel.php或者其他文件

 代码如下 复制代码

require_once 'PHPExcel.php'; 

////require_once'PHPExcel/Writer/Excel5.php';     // 用于其他低版本xls 

// or 

////require_once'PHPExcel/Writer/Excel2007.php'; // 用于excel-2007 格式 

// 创建一个处理对象实例 

$objExcel = new PHPExcel(); 

// 创建文件格式写入对象实例, uncomment 

////$objWriter = newPHPExcel_Writer_Excel5($objExcel);     // 用于其他版本格式  

// or 

////$objWriter = newPHPExcel_Writer_Excel2007($objExcel); // 用于2007 格式 

$objProps = $objExcel->getProperties ();

//设置创建者

$objProps->setCreator ( 'XuLulu');

//设置最后修改者

$objProps->setLastModifiedBy("XuLulu");

//描述

$objProps->setDescription("摩比班级");

//设置标题

$objProps->setTitle ( '管理器' );

//设置题目

$objProps->setSubject("OfficeXLS Test Document, Demo");

//设置关键字

$objProps->setKeywords ( '管理器' );

//设置分类

$objProps->setCategory ( "Test");

//工作表设置

$objExcel->setActiveSheetIndex( 0 );

$objActSheet = $objExcel->getActiveSheet ();

//单元格赋值   例:

$objActSheet->setCellValue ( 'A1', 'ID');

$objActSheet->setCellValue ( 'B1', 'HashCode');

$objActSheet->setCellValue ( 'C1', 'ModelName');

$objActSheet->setCellValue ( 'D1', 'IndexName');

 

$objActSheet->setCellValue('A1', '字符串内容');  // 字符串内容  

$objActSheet->setCellValue('A2', 26);            // 数值 

$objActSheet->setCellValue('A3', true);          // 布尔值 

$objActSheet->setCellValue('A4', '=SUM(A2:A2)'); // 公式

//自动设置单元格宽度   例:

$objActSheet->getColumnDimension('A')->setAutoSize(true);

//手动设置单元格的宽度   例:

//$objActSheet->getColumnDimension('A')->setWidth(10);

//导出的文件名

$outputFileName = iconv ( 'UTF-8', 'gb2312', 'XuLulu_'. time() . '.xlsx' );

 

//直接导出文件

$objWriter->save ( $outputFileName );

 

//文件直接输出到浏览器

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='. $outputFileName );

header ( 'Content-Transfer-Encoding:binary');

$objWriter->save ( 'php://output');

 

其他设置:

//显式指定内容类型  

$objActSheet->setCellValueExplicit('A5','847475847857487584',

PHPExcel_Cell_DataType::TYPE_STRING); 

//合并单元格  

$objActSheet->mergeCells('B1:C22'); 

//分离单元格  

$objActSheet->unmergeCells('B1:C22');

//得到单元格的样式

$objStyleA5 = $objActSheet->getStyle('A5');

//设置字体 

$objFontA5 = $objStyleA5->getFont(); 

 

$objFontA5->setName('Courier New'); 

$objFontA5->setSize(10); 

$objFontA5->setBold(true); 

$objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE); 

$objFontA5->getColor()->setARGB('FF999999');  

//设置对齐方式

$objAlignA5 = $objStyleA5->getAlignment(); 

$objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT); 

$objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);

 

//设置边框 

$objBorderA5 = $objStyleA5->getBorders(); 

$objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 

$objBorderA5->getTop()->getColor()->setARGB('FFFF0000');// color 

$objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 

$objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 

$objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN); 

//设置填充颜色 

$objFillA5 = $objStyleA5->getFill(); 

$objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID); 

$objFillA5->getStartColor()->setARGB('FFEEEEEE'); 

 

//从指定的单元格复制样式信息. 

$objActSheet->duplicateStyle($objStyleA5,'B1:C22'); 

//************************************* 

 

//添加图片 

$objDrawing = new PHPExcel_Worksheet_Drawing(); 

$objDrawing->setName('ZealImg'); 

$objDrawing->setDescription('Image inserted byZeal'); 

 

$objDrawing->setPath('./zeali.net.logo.gif'); 

$objDrawing->setHeight(36); 

$objDrawing->setCoordinates('C23'); 

$objDrawing->setOffsetX(10); 

$objDrawing->setRotation(15); 

$objDrawing->getShadow()->setVisible(true); 

$objDrawing->getShadow()->setDirection(36); 

$objDrawing->setWorksheet($objActSheet); 

 

//添加一个新的worksheet 

 

$objExcel->createSheet(); 

$objExcel->getSheet(1)->setTitle('测试2'); 

//保护单元格 

$objExcel->getSheet(1)->getProtection()->setSheet(true); 

$objExcel->getSheet(1)->protectCells('A1:C22','PHPExcel');

 

PHPExcel在cakephp中应用:

在Vendors/下创建一个文件夹Excel,将PHPExcel的目录如下:

 在要调用的Controller下的方法写如下代码:

 代码如下 复制代码
App::import ( 'Vendor', 'Excel', array ('file' =>'PHPExcel.php' ) );

后,就可以实例化PHPExcel;具体跟以上情况一样。

(这只是其中的一种方法,还有其他一些方法!)

另:导出excel表格的还有其他一些形式,如php自带的函数fputcsv();也可以导出csv格式的表格。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn