在php/mysql中导入带有图像的excel文件

2023-11-27

我想制作一个导入脚本,允许用户将他们的 excel 文件(扩展名不重要)上传到我的 php 应用程序。

应用程序应该识别一个项目列表(到目前为止一切顺利)。

这种情况下的困难在于 Excel 文件包含图像......

我已阅读有关 phpexcel 库的信息,但它没有提及任何有关图像的信息。

有人有想法吗?


您可以通过以下方式访问图像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();
    }
}

然后 $imageContents 将包含您可以输出或保存为文件等的图像数据。 你可以看看这个问题:PHPExcel:如何在首页页眉中插入图像并将其放大以适合其内容?

用于访问图像:

活动工作表中所有图像对象的 ArrayObject 将通过以下方式返回:

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

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

现在还可以将图像对象与打印标题关联起来:

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在php/mysql中导入带有图像的excel文件 的相关文章

  • PHP 中的 == 和 === 运算符

    假设我有一个始终是字符串的变量 现在使用下面的代码 if myVar teststring Note myVar永远是一个字符串 所以我的问题是 哪个更快 最好 使用 身份 或 平等 身份测试总是更快 因为 PHP 不需要 Type Jug
  • 在重复密钥更新时插入...在哪里?

    我正在做一个INSERT ON DUPLICATE KEY UPDATE但我需要更新部分是有条件的 只有在某些额外条件发生变化时才进行更新 然而 WHERE不允许这样做UPDATE 有什么解决方法吗 我无法执行 INSERT UPDATE
  • “stream_socket_enable_crypto():对等证书 CN=`gains.nanosupercloud.com' 与共享托管中预期的 CN=`smtp.sendgrid.net' 不匹配”

    我在 laravel 从事邮件工作 我有以下配置 MAIL DRIVER smtp MAIL HOST smtp sendgrid net MAIL PORT 587 MAIL USERNAME MAIL PASSWORD MAIL ENC
  • 如何从 MySQL .frm 恢复数据?

    我的所有数据都在 MySQL frm 文件中 我怎样才能恢复数据 我不想恢复所有这些 只想恢复一些记录和表格 所以我需要对它们进行转储 据我所见 只有 frm 文件 没有 myd 文件 但是 有 ibdata1 文件 我该如何恢复 我成功了
  • SourceTree 中通过 textconv 自定义差异

    我正在尝试比较和合并 SourceTree 中的 MySQL WorkBench 文件 为此 我创建了一个小型 shell 脚本 用于提取 mwb 文件的内容 并从其中的 XML 文件中删除一些无用的计数器 然后我将此行添加到项目根目录中的
  • 使用PHP将图像旋转45度时如何避免黑色背景?

    您好 我必须先翻转缩略图 然后才能将其与另一个 jpeg 文件合并 但是当我使用 php ini 旋转 45 度时它显示黑色背景 我怎样才能避免这种情况 任何机构都可以帮助我 好吧 如果您要生成 jpg 请使用 PHP GD 将背景颜色设置
  • 使用从另一个表 MYSQL 获取的值从一个表中选择行

    我的数据库中目前有 2 个 mysql 表 Film and Film Ratings Report Film 的主键是filmid用于识别电影分级Film Ratings Report table 我想知道是否可以仅使用 MYSQL 查询
  • Sphinx错误:搜索请求中未知的本地索引“INDEX_NAME”[已关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我使用 Sphinx 0 9 9 r
  • PHP 数组 ASC 排序

    我正在尝试对以下数组进行排序 但由于某些奇怪的原因 它似乎不起作用 sizearray Array 0 gt 39 1 gt 40 2 gt 41 3 gt 42 4 gt 43 5 gt 44 6 gt 45 7 gt 39 8 gt
  • 带有 ajax 提交处理程序的 jquery 验证插件不起作用

    在过去的几天里 我已经多次使用了 jquery 验证插件 但尚未将其与 ajax 提交一起使用 我所拥有的在下面被削减为两个字段 提交时值没有错误 单击提交按钮时不会发生任何提交 它只是什么都不做 HTML
  • PHP imagettftext 返回的边界框与渲染的边界框不同

    我正在使用 imagettftext 渲染 PNG 文件 对 imagettftext 的调用返回渲染文本的边界框 但仔细检查后发现 文本的渲染稍微超出了它自己的边界框 边界框是正确的 我检查了图像的像素坐标 但文本位置不正确 它输出这个
  • 什么时候数据库被称为嵌入式数据库?

    术语 嵌入式数据库 与 数据库 具有不同的含义吗 我见过的嵌入式数据库有两种定义 嵌入式数据库就像专门为 嵌入式 空间 移动设备等 设计的数据库系统一样 这意味着它们在紧张的环境中 内存 CPU 方面 可以合理地执行 嵌入式数据库就像不需要
  • 如何限制注册用户尝试投票两次[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我对 php 编码和网站设计非常陌生 我正在尝试开发一个在线投票系统 只允许注册用户投票 已完成所有操作并且工作正常 但我需要的帮助是
  • 如何跨页面播放背景音乐

    我已经读过这个问题 我知道它只能用框架来完成 我真的不想要全站点 AJAX 如何在多个 HTML 页面上播放背景音频 https stackoverflow com questions 4210370 how to play a backg
  • PHP APC 加载 apc.so 时出错

    我最近通过 WHM 面板 Web 主机管理器 在我们的服务器上安装了 PHP APC 安装成功后 我以为一切都很好 然而第二天我注意到我们的 error log 文件变得相当大 经过检查我多次注意到以下行 PHP 警告 PHP 启动 无法加
  • 使用 Zend 实现 WURFL 时出现错误

    我环顾四周 似乎找不到与我有同样问题的人 希望我没有错过这里的叮当声 我想要获取每个用户的设备浏览器信息 我目前计划在引导程序中执行此操作 遵循我在 PHP 会议上看到的内容 为此我遇到了 http framework zend com m
  • 如果 CodeIgniter 方法不存在,则重定向到默认方法。

    我正在使用 CodeignIter 并且正在寻找一种在被调用方法不存在时为单个控制器编写自定义处理例程的方法 假设你打电话www website com components login In the components控制器 没有一个方
  • 使用PHP将大文件上传到谷歌云存储

    我正在尝试将大文件从服务器上传到云存储 文件超过 500mb 但 PHP 超时 我尝试查看 Google 客户端库文档 并在 stackoverflow 中进行爬行 但找不到任何可以帮助我的内容 还有有什么办法可以跟踪上传进度吗 这是我目前
  • 限制在WhereHas内

    所以我想获取最后状态等于给定状态的请求 我尝试过first 但它给了我一个错误并且限制不起作用 requests Request whereHas requestStatus function query use status return
  • npm run dev 和 npm run production 之间的区别

    我对 Laravel 和 vue js 很陌生 请让我知道它们之间有什么区别npm run dev and npm run production 这和环境有关系吗 npm run dev创建源映射并且不会缩小 js css 这使得调试和查找

随机推荐

  • 使用 useEffect 钩子重定向

    我的想法是 我有一个渲染某些内容的组件 但同时正在检查将返回或重定向到另一个组件的内容 useEffect gt gt if true return to one component return to another component
  • 将 JSON 数组转换为 bash 字符串数组

    如何将 json 对象数组解析为 bash 数组 并将这些对象作为字符串 我正在尝试执行以下操作 CONVO get json array jq for CONVERSATION in CONVERSATIONS do echo CONVE
  • 同步和异步编程有什么区别(在node.js中)

    我一直在读节点初学者我遇到了以下两段代码 第一个 var result database query SELECT FROM hugetable console log Hello World 第二个 database query SELE
  • Python 检查 SQLite3 中是否存在

    我正在尝试检查 SQLite3 数据库中是否存在变量 不幸的是我似乎无法让它工作 airports 表包含 3 列 其中 ICAO 为第一列 if c execute SELECT EXISTS SELECT 1 FROM airports
  • 更改 Django autocomplete_fields 标签

    我正在尝试为以下类型的所有项目设置自定义标签autocomplete fields 到目前为止 对于下拉列表 人们会使用 class CustomDisplay forms ModelChoiceField def label from i
  • 检测对蓝牙适配器所做的状态更改?

    我有一个带有按钮的应用程序 我用它来打开和关闭 BT 我在那里有以下代码 public void buttonFlip View view flipBT buttonText view public void buttonText View
  • Ant:如何从命令行传入的逗号分隔列表中设置属性?

    我正在使用 Ant 1 8 1 如果我在命令行上传递一个参数 DenableProperties abc def ghi jkl 如何在 Ant 脚本中设置各个属性 true false
  • web.configallowDefinition=MachineToApplication 错误

    在根目录下我有以下结构 web config Report Folder Login aspx Web config gt ViewReport gt Report aspx 在 Report 文件夹中的 web config 文件中 我有
  • Django - 如何防止数据库外键约束创建

    我有一个由数据库视图支持的模型 class OrgCode models Model org code models CharField db column u code max length 15 org description mode
  • JNA UnsatisfiedLinkError - 当我将 java.library.path 设置为虚假值时起作用

    在 Linux 上使用 JNA 4 0 0 我尝试加载本机库 libmean so 这是在lib子目录 该库只是一个计算两个数字平均值的简单示例 我运行以下代码 在 Eclipse 中 Djna library path lib在运行配置中
  • 未记录的 CONVERT 样式 - 日期时间 23

    最近我偶然发现CONVERT函数样式 23 这非常方便 因为它为您提供 DATE 格式yyyy mm dd 问题是msdn中没有记录 在 CONVERT 上 F1 后来自 SSMS 帮助的链接 http msdn microsoft com
  • c# 以编程方式从 Exchange 服务器读取电子邮件

    当您在网络上搜索时 您会找到 如何以编程方式阅读电子邮件 的非常简单的答案 所有网站都解释了大部分与此页面相同的内容 http omegacoder com p 454 depends from Exchange server versio
  • UIFileSharingEnabled 仅在调试变体上

    我正在寻找一种方法来仅为调试变体启用 UIFileSharingEnabled 标志 这样我就可以更改文档文件夹的内容 但我不希望最终用户做同样的事情 我想我可以使用运行脚本来执行此操作 但不确定如何获取脚本的活动配置名称 解决了 if C
  • 异步的替代方案: false ajax

    我循环遍历一个数组 为每个数组运行 ajax 请求 我需要请求按顺序发生 这样我就可以接收最后一个请求并在成功时运行一个函数 目前我正在运行 简化 each array function i item ajax request item i
  • 中 ANYSIZE_ARRAY 的用途是什么?

    目的是什么ANYSIZE ARRAY 位于WinNT h 我在 2004 年看到一篇关于它的 MSDN 博客文章 但它对我来说没有意义 我假设你正在谈论这篇博文 当可变大小 编译时未知 数组是结构的一部分时 通常使用它 typedef st
  • SQL 视图上的 LINQ select 得到错误答案

    我有一个 SQL 视图 它生成 8 列的响应 它相当复杂 所以我不会在这里列出它 它不会对我试图理解的问题增加太多内容 当我直接使用此查询在 SQL Manager 中查询视图时 SELECT FROM GPPS dbo PartIndex
  • 如何将 R 对象的定义导出为纯文本以便其他人可以重新创建它?

    假设您在 R 中有这些数据 并且您想在 stackoverflow 上发布问题 为了让其他人能够最好地帮助您 如果他们能够拥有您的对象 数据框 矢量等 的副本来使用 那就太好了 假设您的数据位于名为 site data 的数据框中 gt s
  • 了解 Java 泛型中的通配符

    我不确定为什么以下代码中的最后一条语句是非法的 Integer应该是一个子类型 那么为什么我不能将它分配给b List
  • 在 matlab 中绘制一堆 3d 线的最有效方法

    我需要在 matlab 中绘制 3d 线列表 最快的方法是什么 我目前正在做类似的事情 edges is a MX2 matrix holding the list of edges points are the vertices coor
  • 在php/mysql中导入带有图像的excel文件

    我想制作一个导入脚本 允许用户将他们的 excel 文件 扩展名不重要 上传到我的 php 应用程序 应用程序应该识别一个项目列表 到目前为止一切顺利 这种情况下的困难在于 Excel 文件包含图像 我已阅读有关 phpexcel 库的信息