この記事では、主に 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');
thinkPHP5 フレームワークのカスタマイズの実装バリデータ
PHP は Excel ファイルをアップロードしてデータを MySQL データベースにインポートします
以上がPHPEXCEL を使用してデータと画像をエクスポートするためのコードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。