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

这篇文章主要介绍了PHPExcel读取EXCEL中的图片并保存到本地的方法,本文直接给出代码实例,需要的朋友可以参考下

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

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

废话少说,直接上代码:

  1. require_once './Classes/PHPExcel.php';
  2. $objPHPExcel = new PHPExcel();
  3. $objReader = PHPExcel_IOFactory::createReader('Excel5'); //加载2003的
  4. $objPHPExcel = $objReader->load("goods_list.xls"); //载入文件
  5. foreach ($objPHPExcel->getSheet(0)->getDrawingCollection() as $k => $drawing) {
  6. $codata = $drawing->getCoordinates(); //得到单元数据 比如G2单元
  7. $filename = $drawing->getIndexedFilename(); //文件名
  8. ob_start();
  9. call_user_func(
  10. $drawing->getRenderingFunction(),
  11. $drawing->getImageResource()
  12. );
  13. $imageContents = ob_get_contents();
  14. file_put_contents('pic/'.$codata.'_'.$filename.'.jpg',$imageContents); //把文件保存到本地
  15. ob_end_clean();
  16. }