PHPExcel读取EXCEL中的图片并保存到本地的方法

yipeiwu_com6年前PHP代码库

HPExcel是相当强大的 MS Office Excel 文档生成类库,当需要输出比较复杂格式数据的时候,PHPExcel 是个不错的选择。

经过认真研究API文档和查看官方文档,终于找到读取EXCEL中的图片,目前我只能读取excel 2003格式的。excel2007貌似还不支持。 其中主要使用的API为PHPExcel_Worksheet,PHPExcel_Worksheet_BaseDrawing,PHPExcel_Worksheet_MemoryDrawing。

废话少说,直接上代码:

复制代码 代码如下:

require_once './Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
$objReader = PHPExcel_IOFactory::createReader('Excel5');  //加载2003的
$objPHPExcel = $objReader->load("goods_list.xls");  //载入文件
foreach ($objPHPExcel->getSheet(0)->getDrawingCollection() as $k => $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();
}

相关文章

几篇关于无限分类算法的文章第1/5页

几篇关于无限分类算法的文章第1/5页

http://dev.mysql.com/tech-resources/articles/hierarchical-data.html By Mike Hillyer Introduc...

提高php运行速度的一些小技巧分享

1、代码优化 代码优化不仅仅是写出干净和清晰的代码,而是对代码进行一定的简化。可以使用Zend Optimizer来自动帮助完成这些繁杂的工作。Zend Optimizer可以从Zend...

php lcg_value与mt_rand生成0~1随机小数的效果对比分析

php lcg_value与mt_rand生成0~1随机小数的效果对比分析

因工作需要使用php生成0~1随机小数,之前写过一篇《php生成0~1随机小数方法》,基于mt_rand()及mt_getrandmax()实现。 后来有网友评论,php原生方法lcg_...

PHPMailer安装方法及简单实例

PHPMailer安装方法及简单实例

打开你电脑里的PHP.INI文件,找到如下位置,添加红线部分的内容,路径就是你PHPMailer存放的位置:保存,重启apache. 然后借用readme里的一个例子,稍微改一下就可以用...

解析strtr函数的效率问题

最近经常要对字符串进行匹配和替换操作,之前一般使用str_replace或者preg_replace,据说strtr的效率不错,所以对比了一下:复制代码 代码如下:$i = 0;$t =...