使用PHP从Excel文件(Xlsx)中提取图像
原学程将引见应用PHP从Excel文件(Xlsx)中提与图象的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。
成绩描写
怎样应用PHPExcel从EXCEL文件中读与图象,并将图象保留在办事器中并显示?文件的扩大名为.xlsx。
我的代码:
$objPHPExcel = PHPExcel_IOFactory::load($path);
foreach ($objPHPExcel->getActiveSheet()->getDrawingCollection() as $drawing) {
if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
ob_start();
call_user_func(
$drawing->getRenderingFunction(),
$drawing->getImageResource()
);
$imageContents = ob_get_contents();
ob_end_clean();
}
}
感谢!!
推举谜底
$objPHPExcel->getActiveSheet()->getDrawingCollection()
将前往运动任务表中一切图象对于象的ArrayObject。
这些对于象将是PHPExcel_WORKSHEET_DRANGING或者PHPExcel_WORKSHEET_Memory Drawing对于象:您不妨应用[is_a()][一]标记哪一个对于象。而后,您不妨应用实用于该类的办法(如API中所述)从文件(关于PHPExcel_WORKSHEET_DRANGING对于象)或者直交从PHPExcel_WORKSHEET_MhemyDrawing对于象自己读与图象数据。不妨应用getName()以及getDescription()办法检索图象对于象的相干值。
请留意,也能够将图象对于象与挨印页眉相干联:
$objPHPExcel->getActiveSheet()->getHeaderFooter()->getImages()
可用于从页眉/页足检索图象。这是PHPExcel_WorkSheet_HeaderFooterDrawing对于象的数组。一切PHPExcel_WORKSHEET_DRANGING办法皆可用于从这些对于象提与图象文件。
编纂
勺子喂食时光。
这将从以后运动的任务表中提与一切图象,并将它们写进办事器上的文件。
$objPHPExcel = PHPExcel_IOFactory::load($path);
$i = 0;
foreach ($objPHPExcel->getActiveSheet()->getDrawingCollection() as $drawing) {
if ($drawing instanceof PHPExcel_Worksheet_MemoryDrawing) {
ob_start();
call_user_func(
$drawing->getRenderingFunction(),
$drawing->getImageResource()
);
$imageContents = ob_get_contents();
ob_end_clean();
switch ($drawing->getMimeType()) {
case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_PNG :
$extension = 'png'; break;
case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_GIF:
$extension = 'gif'; break;
case PHPExcel_Worksheet_MemoryDrawing::MIMETYPE_JPEG :
$extension = 'jpg'; break;
}
} else {
$zipReader = fopen($drawing->getPath(),'r');
$imageContents = '';
while (!feof($zipReader)) {
$imageContents .= fread($zipReader,一0二四);
}
fclose($zipReader);
$extension = $drawing->getExtension();
}
$myFileName = '00_Image_'.++$i.'.'.$extension;
file_put_contents($myFileName,$imageContents);
}
文件名
00_Image_n.extension
个中n是从一开端的数字,扩大名是图象典型的响应扩大名(png、jpg、gif等)。
佳了闭于应用PHP从Excel文件(Xlsx)中提与图象的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。