首页 > 代码库 > php 基于phpexcel制作的导出excel类
php 基于phpexcel制作的导出excel类
最近要写个项目,由于项目中导出excel太多,因此写个类便于使用。
<?php/**@使用方法。*引入类库。* $excel = news excelC();*$excel->fileName = ‘文件名称‘;//设置文件名称,默认为时间戳*$excel->format = ‘2007‘;//文件类型,默认为2007,其他为excel5*$record = array( ‘delKey‘=>array(‘id‘,‘addTime‘,‘status‘),//如果数据$data中有不需要显示的列,可以在此说明。删除不需要导出的键值 ‘sort‘ =>array( ‘keyName‘=>array(‘subjectName‘,‘flag‘),//按keyName列排序,如果不存在则不排序。 //‘reorder‘=>‘DESC‘,//排序方式,DESC为倒序,ASC为正序。如果keyName存在则排序keyName,如果不存在则按数组的键名排序,如果reorder不存在则不排序 ),//排序 如果sort存在则排序,否则不排序,如果keyName存在则按设置排序,如果不存在则按字符排序,如果reorder不存在或为空或为DES则正序,等于DESC为倒序。 ‘excelStyle‘ =>array( ‘setName‘=>‘Arial‘,//字体样式 ‘setSize‘=>‘12‘,//字体大小 ),//表格全局样式 ‘title‘ =>array(‘tableName‘=>‘学科列表‘,‘center‘=>true,‘direction‘=>‘right‘,‘merge‘=>‘2‘,‘setSize‘=>‘30‘),//标题,center垂直,direction为合并方向。right,left,up,down。 merge为合并几个单元格,setSize为字体大小 ‘data‘ =>array( array(‘tableName‘=>‘科目名称‘,‘width‘=>‘30‘,‘setName‘=>‘宋体‘,‘setSize‘=>‘20‘,‘background‘=>‘red‘,‘textColor‘=>‘white‘,‘bold‘=>true,‘underline‘=>true,‘borderColor‘=>‘cyan‘,‘center‘=>true,), array(‘tableName‘=>‘学科‘,‘width‘=>‘50‘,‘center‘=>true),//颜色表是:black,white,red,green,blue,yellow,magenta,cyan ),//表名称 tableName为名称,width为表格宽度,setName为字体样式,background为背景颜色,textColor为字体颜色,bold为加粗,underline为下划线,borderColor为边框颜色. ‘merge‘ =>array( //‘flag‘=>array(‘keyword‘=>‘初‘,‘direction‘=>‘right‘,‘merge‘=>‘2‘),merge的键值为需要处理数据数组的键值,keyword为如果存在此关键字才执行其他样式操作,如果keyword不存在则执行所有键值为flag的单元格。 ‘all‘=>array(‘width‘=>‘30‘,‘setName‘=>‘宋体‘,‘setSize‘=>‘20‘,‘background‘=>‘red‘,‘textColor‘=>‘white‘,‘bold‘=>true,‘underline‘=>true,‘borderColor‘=>‘cyan‘,‘center‘=>true,), ),//);//导出配置*$excel->export($record,$data);//$record为导出配置,$data为数据库的数据,$data可以为数组,也可以为对象。****/$address = dirname(dirname(__FILE__)).‘/PHPExcel‘;include $address.‘/PHPExcel.class.php‘;include $address.‘/PHPExcel/Writer/Excel2007.php‘;include $address.‘/PHPExcel/Writer/Excel5.php‘;include $address.‘/PHPExcel/IOFactory.php‘;/*****************************生成excel文档。*/class excelC { public $format = ‘2007‘;//转换格式,默认为2007版本,其他版本,请输入不是2007的数字 public $fileName;//文件名称默认为时间戳。 private $objExcel; private $letters; public function __construct() { $this->fileName = time(); $this->fileTitle = ‘导出数据‘; $this->objExcel = new PHPExcel(); $this->letters = $this->letter(); } //导出excel的属性 private function attribute(){ $this->objExcel->getProperties()->setCreator("力达行有限公司");//创建人 $this->objExcel->getProperties()->setLastModifiedBy("力达行有限公司");//最后修改人 $this->objExcel->getProperties()->setTitle("导出数据");//标题 $this->objExcel->getProperties()->setSubject("导出数据");//题目 $this->objExcel->getProperties()->setDescription("数据导出");//描述 $this->objExcel->getProperties()->setKeywords("office 导出");//关键字 $this->objExcel->getProperties()->setCategory("excel");//种类 } //设置表(如果只有一个sheet可以忽略该函数,将默认创建。) private function sheet(){ $this->objExcel->setActiveSheetIndex(0);//设置当前的表 $this->objExcel->getActiveSheet()->setTitle(‘excel‘);//设置表名称。 } /*************************** *导出excel *@attr $record为表头及样式设置 *@attr $data为需要导出的数据 */ public function export($record=array(),$data=http://www.mamicode.com/array()){"Content-Disposition: attachment; filename=\"$this->fileName\""); header(‘Cache-Control: max-age=0‘); $objWriter = PHPExcel_IOFactory::createWriter($this->objExcel, $excel); $objWriter->save(‘php://output‘); }}
php 基于phpexcel制作的导出excel类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。