이 기사에서는 주로 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); $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 중국어 홈페이지를 주목해주세요!
관련 권장 사항:
PHP5 프레임워크 사용자 정의 유효성 검사기 구현을 생각해 보세요.
PHP는 Excel 파일을 업로드하여 MySQL 데이터베이스로 데이터를 가져옵니다.
위 내용은 PHPEXCEL을 사용하여 데이터 및 그림을 내보내는 코드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!