gpt4 book ai didi

php - 使用 PHP 在 Excel 文件 (xls) 中提取图片/图像

转载 作者:可可西里 更新时间:2023-11-01 13:27:04 27 4
gpt4 key购买 nike

我有一个电子表格,我想使用 PHP 将其导入。我可以使用 PHPExcel 导入单元格数据,但不知道如何使用电子表格中的图像。

有没有办法做到这一点,然后使用 PHP 中的图像保存到服务器等?

非常感谢您的帮助! :)


更新:

@mark-baker - 非常感谢您对此的帮助!

我在带有一个 JPG 的测试 XLS 文件上使用了下面的代码:

$objPHPExcel = PHPExcel_IOFactory::load("SH.xls");

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();
}
}

我想我可以输出 JPEG header 和 $imageContents 的内容来显示图像。

如何获取电子表格中图像的实际名称,例如“Picture1”?这可以用 PHPExcel_Worksheet_MemoryDrawing 实现吗?

感激不尽!

最佳答案

有人,我不知道是不是你自己,在 PHPExcel 板上问了一个类似的问题......我还没来得及回答。

$objPHPExcel->getActiveSheet()->getDrawingCollection()

将返回事件工作表中所有图像对象的 ArrayObject。

这些对象将是 PHPExcel_Worksheet_Drawing 或 PHPExcel_Worksheet_MemoryDrawing 对象:您可以使用 is_a() 来识别它们。 .然后,您可以使用适合该类的方法(如 API 中所述)从文件(对于 PHPExcel_Worksheet_Drawing 对象)或直接从 PHPExcel_Worksheet_MemoryDrawing 对象本身读取图像数据。 getName() 和 getDescription() 方法可用于检索图像对象的相关值。

请注意,也可以将图像对象与打印标题相关联:

$objPHPExcel->getActiveSheet()->getHeaderFooter()->getImages()

可用于从页眉/页脚检索图像。这是一组 PHPExcel_Worksheet_HeaderFooterDrawing 对象。所有 PHPExcel_Worksheet_Drawing 方法都可用于从这些对象中提取图像文件。

编辑

根据您在修改后的问题中的代码:

$drawing->getName();

应该给你你所需要的

关于php - 使用 PHP 在 Excel 文件 (xls) 中提取图片/图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6114024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com