0

0

利用PHPEXCEL 导出数据和图片的代码

不言

不言

发布时间:2018-06-11 11:50:29

|

3623人浏览过

|

来源于php中文网

原创

这篇文章主要介绍了关于利用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中文网!

 相关推荐:

三种php递归函数的实现方法及实现数字的累加

LANUX蓝脑商务网站系统
LANUX蓝脑商务网站系统

LANUX V1.0 蓝脑商务网站系统 适用于网店、公司宣传自己的品牌和产品。 系统在代码、页面方面设计简约,浏览和后台管理操作效率高。 此版本带可见即可得的html编辑器, 方便直观添加和编辑要发布的内容。 安装: 1.解压后,更换logo、分类名称、幻灯片的图片及名称和链接、联系我们等等页面。 2.将dbconfig.php里面的数据库配置更改为你的mysql数据库配置 3.将整个文件夹上传至

下载

立即学习PHP免费学习笔记(深入)”;

thinkPHP5框架自定义验证器的实现

PHP上传Excel文件导入数据到MySQL数据库

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

2544

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1611

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1501

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

952

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1417

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1234

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1446

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1306

2023.11.13

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

2

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 8.7万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 7万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号