This article mainly introduces the code for exporting data and pictures using PHPEXCEL. It has certain reference value. Now I share it with you. Friends in need can refer to it
Pictures are an object to excel and cannot be exported to cells normally, so everyone is confused about how to use PHP language to export! Below I will explain in detail how to use php to export pictures to excel (this example uses the CI framework)
Note: This is for the CI project, other frameworks are placed in the class library Just go inside
//CI框架引入PHPExcel $this->load->library('PHPExcel');//实例化PHPExcel类 $objPHPExcel = new PHPExcel();//图片处理类,这个才是图片导出的关键哦 $objDrawing = new PHPExcel_Worksheet_Drawing();//然后正常设置我们导出图片的代码 $objPHPExcel->createSheet(0); $objPHPExcel->setActiveSheetIndex(0); $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');
The above is the entire content of this article. I hope it will be helpful to everyone’s study. For more related content, please pay attention to the PHP Chinese website!
Related recommendations:
Implementation methods of three PHP recursive functions and the accumulation of numbers
thinkPHP5 framework customization Implementation of the validator
PHP uploads Excel files to import data into the MySQL database
The above is the detailed content of Code for exporting data and pictures using PHPEXCEL. For more information, please follow other related articles on the PHP Chinese website!