一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

PHPExcel用法详细的介绍

时间:2012-09-04 编辑:简简单单 来源:一聚教程网

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格式的表格。

热门栏目