加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHPExcel用法详细的简介

发布时间:2023-05-26 13:15:10 所属栏目:PHP教程 来源:
导读:导入PHPExcel.php或者其他文件,代码如下:require_once 'PHPExcel.php';////require_once'PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls // or ////require_once'PHPExcel/Writer/Exc

导入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格式的表格.

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!