这篇文章主要介绍了关于利用PHPEXCEL 导出数据和图片的代码,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
前言图片对excel来说是一个对象,正常是导出不到单元格里去,所以大家都很困惑到底该怎么使用PHP语言来进行导出呢!下面我就详细的讲解下怎么使用php导出图片到excel(此例是使用CI框架)
注释:这个是CI项目的哦,别的框架放到类库里就行了
上代码//CI框架引入PHPExcel$this- load- library( PHPExcel //实例化PHPExcel类$objPHPExcel = new PHPExcel();//图片处理类,这个才是图片导出的关键哦$objDrawing = new PHPExcel_Worksheet_Drawing();//然后正常设置我们导出图片的代码$objPHPExcel- createSheet(0);$objPHPExcel- setActiveSheetIndex(0);$html' target='_blank'>currentSheet = $objPHPExcel- getActiveSheet();// 水平居中(位置很重要,建议在最初始位置,这里我举例,ABCDEFG,可以按照自己的需求定义!~)$objPHPExcel- setActiveSheetIndex(0)- getStyle( A )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( B )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( C )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( D )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( E )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( F )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);$objPHPExcel- setActiveSheetIndex(0)- getStyle( G )- getAlignment()- setHorizontal(/PHPExcel_Style_Alignment::HORIZONTAL_CENTER);// 设置个表格宽度(这个一定要设置哦,不然图片会大厨单元格的)$objPHPExcel- getActiveSheet()- getColumnDimension( A )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( B )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( C )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( D )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( E )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( F )- setWidth(20);$objPHPExcel- getActiveSheet()- getColumnDimension( G )- setWidth(20);//设置第一行标题$currentSheet- setCellValue( A1 , 序列号 $currentSheet- setCellValue( B1 , 设备ID $currentSheet- setCellValue( C1 , 设备密码 $currentSheet- setCellValue( D1 , 设备编码 $currentSheet- setCellValue( E1 , 二维码 $currentSheet- setCellValue( F1 , 二维码 $currentSheet- setCellValue( G1 , 二维码 //定义变量初始化为2,从第二行开始$idx = 2;//开始循环数组数据!~foreach ($devices as $device) { //设置数据所在单元格,我这里把图片放在E里 $currentSheet- setCellValue( A . $idx, $device[ sequence $currentSheet- setCellValue( B . $idx, $device[ device_unique $currentSheet- setCellValue( C . $idx, $device[ device_pwd $currentSheet- setCellValue( D . $idx, $device[ device_code //设置单元格高度,这个是重点哦 $currentSheet- getRowDimension($idx) - setRowHeight(60) //获取图片 $this- load- model( Device_codes_model $codes = $this- Device_codes_model- getOneCodes($id); //开始设置图片啦~~ $objDrawing- setPath($codes[ code_file // 设置图片宽度高度 $objDrawing- setHeight(80);//照片高度 $objDrawing- setWidth(80); //照片宽度 /*设置图片要插入的单元格*/ $objDrawing- setCoordinates( E .$idx); // 图片偏移距离 $objDrawing- setOffsetX(12); $objDrawing- setOffsetY(12); $objDrawing- setWorksheet($objPHPExcel- getActiveSheet()); $idx++;}//导出excel到表格$sheetWrite = PHPExcel_IOFactory::createWriter($objPHPExcel, Excel2007
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !
相关推荐:
三种php递归函数的实现方法及实现数字的累加
thinkPHP5框架自定义验证器的实现
以上就是利用PHPEXCEL 导出数据和图片的代码的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答