Mar*_*cel 8 php mysql import codeigniter phpexcel
我想制作一个导入脚本,允许用户将他们的excel文件(扩展名不重要)上传到我的php应用程序.
应用程序应重新组合项目列表(到目前为止一直很好).
这种情况的困难在于excel文件包含图像......
我已经阅读了有关phpexcel库的信息,但它没有说明图像.
有人的想法吗?
Som*_*luk 14
您可以通过PHPExcel库访问图像.
用于导入图像:
$objPHPExcel = PHPExcel_IOFactory::load("MyExcelFile.xls");
foreach ($objPHPExcel->getSheetByName("My Sheet")->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();
}
}
Run Code Online (Sandbox Code Playgroud)
然后$ imageContents将包含您可以输出或保存为文件等的图像数据.您可以看到这个问题:PHPExcel:如何在第一页标题中插入图像并将其放大以适合它的内容?
用于访问图像:
活动工作表中所有图像对象的ArrayObject将返回:
$objPHPExcel->getActiveSheet()->getDrawingCollection() ;
Run Code Online (Sandbox Code Playgroud)
这些对象将是对象PHPExcel_Worksheet_Drawing或PHPExcel_Worksheet_MemoryDrawing对象:您可以使用is_a()来识别哪些对象.然后,您可以使用适合该类的方法(如API中所述)从文件(对于PHPExcel_Worksheet_Drawing对象)读取图像数据,或直接从PHPExcel_Worksheet_MemoryDrawing对象本身读取.该getName()和getDescription()方法可用于检索来回图像对象相关的值.
现在,也可以将图像对象与打印头相关联:
$objPHPExcel->getActiveSheet()->getHeaderFooter()->getImages()
Run Code Online (Sandbox Code Playgroud)
可用于从页眉/页脚中检索图像.这是一个PHPExcel_Worksheet_HeaderFooterDrawing对象的数组.所有PHPExcel_Worksheet_Drawing方法都可用于从这些对象中提取图像文件.
| 归档时间: |
|
| 查看次数: |
10785 次 |
| 最近记录: |