PHPExcel读取EXCEL中的图片并保存到本地的方法
PHPExcel是一款强大的MS Office Excel文档生成类库,当面对复杂格式的数据输出时,它无疑是最佳选择。经过深入研究其API文档和官方文档,我成功找到了如何读取EXCEL中的图片并保存到本地的方法。这里主要涉及到的API包括PHPExcel_Worksheet、PHPExcel_Worksheet_BaseDrawing和PHPExcel_Worksheet_MemoryDrawing。现在,我将以代码实例的形式展示这一过程,供有需要的朋友参考。
你需要引入PHPExcel类库。然后创建一个新的PHPExcel对象,并使用专为Excel 2003格式设计的读取器。假设你要读取的文件名为"goods_list.xls",将其加载到PHPExcel对象中。
接下来,遍历该Excel工作表中的所有绘图对象。对于每个绘图对象,你可以获取其坐标(例如G2单元)和索引文件名。然后,通过调用绘图对象的渲染函数并传递其图像资源,将图像内容输出到输出缓冲区。使用file_put_contents函数将图像内容保存到本地的JPG文件中,文件名由坐标和索引文件名组成。
以下是代码示例:
```php
require_once 'Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objReader = PHPExcel_IOFactory::createReader('Excel5'); // 创建Excel 2003格式的读取器
$objPHPExcel = $objReader->load("goods_list.xls"); // 加载文件
foreach ($objPHPExcel->getSheet(0)->getDrawingCollection() as $drawing) {
$codata = $drawing->getCoordinates(); // 获取坐标,如G2单元
$filename = $drawing->getIndexedFilename(); // 获取文件名
ob_start(); // 开启输出缓冲区
call_user_func(
$drawing->getRenderingFunction(), // 调用渲染函数
$drawing->getImageResource() // 传递图像资源
);
$imageContents = ob_get_contents(); // 获取图像内容
file_put_contents('pic/' . $codata . '_' . $filename . '.jpg', $imageContents); // 保存图像到本地
ob_end_clean(); // 结束输出缓冲区并清除内容
}
```
这段代码将读取Excel文件中的图片并将其保存到本地,文件名的构成包含了图片的坐标和索引文件名。希望这个例子能够帮助到有需要的朋友。
编程语言
- PHPExcel读取EXCEL中的图片并保存到本地的方法
- jQuery实现表格展开与折叠的方法
- jquery处理页面弹出层查询数据等待操作实例
- 详解http访问解析流程原理
- Vue 报错TypeError- this.$set is not a function 的解决方法
- .net后台代码调用前台JS的两种方式
- js 颜色选择插件
- PHP语法自动检查的Vim插件
- 详解如何在vue中使用sass
- Angular.js去除页面中显示的空行方法示例
- phpmyadmin在宝塔面板里进不去的解决方案
- 浅谈JavaScript数据类型
- mysql之delete删除记录后数据库大小不变
- BCP 大容量数据导入导出工具使用步骤
- 在微信、支付宝、百度钱包实现点击返回按钮关
- Javascript中For In语句用法实例