在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文件 的相关文章

  • Yii 使用 ajax 进行分页

    我需要使用ajax启用分页 我的代码 控制器 更新内容ajax function actionIndex dataProvider new CActiveDataProvider News array pagination gt array
  • Mysql用in语句限制

    我正在写一个查询 SELECT user bookmarks id as user bookmark id bookmark id user bookmarks user id bookmark url bookmark website b
  • 生成大随机数 php [重复]

    这个问题在这里已经有答案了 我想使用 PHP 生成一个包含 75 个字符的数字 我到处寻找 但一无所获 除了这个 http dailycoding com tools RandomNumber aspx http dailycoding c
  • 删除行导致锁超时

    当我尝试从表中删除行时 我不断收到这些错误 这里的特殊情况是我可能同时运行5个进程 该表本身是一个 Innodb 表 约有 450 万行 我的 WHERE 子句中使用的列没有索引 其他指数按预期运行 这是在事务中完成的 首先删除记录 然后插
  • FPDI/FPDF:水印和打印多页

    我修改了这个堆栈问题 当用户尝试下载文件时在 pdf 文件上应用水印 https stackoverflow com questions 3983432 applying watermarks on pdf files when users
  • 如何从父类函数访问子类中定义的常量?

    我从 php net 看到这个例子 但 c MY CONST 仅在 5 3
  • MYSQL - 使用逗号分隔字符串作为变量输入的存储过程

    我希望有人能够提供帮助 我已经创建了我的第一个存储过程 没什么花哨的 但是我遇到了问题 我想给它一个字符串输入 例如 1 2 3 4 5 然后它执行一个简单的操作SELECT FROM TABLE WHERE EAN IN VAR 所以存储
  • 从 smarty 访问 PHP 文件的变量(本地或全局)

    我有一个 php 文件 其中包含一些本地和全局变量 例如 foo 从此文件中调用 smarty 对象 如何在不更改 PHP 文件的情况下从 smarty 脚本访问 foo Thanks 如果你有一个名为 BASE 的常量变量 并且定义如下
  • 为什么我需要结束 ob_start()?

    php 文档建议我应该用 ob end flush 结束每个 ob start 我在网站的每个页面上使用一个 只是为了允许我在应用程序中的任何位置使用 firephp 日志方法 该应用程序运行良好 但我想知道是否有任何我不知道的东西可能有害
  • MYSQL从每个类别中随机选择一条记录

    我有一个数据库Items表看起来像这样 id name category int 有几十万条记录 每个item可以是 7 种不同的之一categories 对应于categories table id category 我想要一个从每个类别
  • preg_match_all 查询仅显示有问题的外部组

    我无法弄清楚如何只显示 preg 查询的外部组级别 我会给你一个例子 preg match all start end input matches 这个输入start1 start2 2end 1end产生这个输出start1 start2
  • “使用未定义常量”注意,但该常量应该被定义

    共有三个文件 common php controller php 和 user php 文件 common php 如下所示 文件controller php看起来像 文件 user php 如下所示 执行脚本时 会给出通知 注意 使用未定
  • 使用 SSL 证书验证 Web 浏览器

    是否可以使用 ssl 证书对 Web 浏览器进行身份验证 假设我在应用程序中存储私钥 有什么方法可以从浏览器读取密钥并尝试基于该私钥进行身份验证 您可以使用 SSL TLS 客户端证书身份验证来对浏览器 用户进行身份验证 服务器必须请求客户
  • PHP 在输入流中使用 fwrite 和 fread

    我正在寻找将 PHP 输入流的内容写入磁盘的最有效方法 而不使用授予 PHP 脚本的大量内存 例如 如果可以上传的最大文件大小为 1 GB 但 PHP 只有 32 MB 内存 define MAX FILE LEN 1073741824 1
  • PHP preg_filter 返回意外的长值

    尝试在 Woocommerce 中删除标签并过滤值 但无法以正确的格式获取它 有东西有腥味 我正在使用WC gt cart gt get cart subtotal 来检索该值 在此示例中 我的值是 2 429kr 原始返回值是 span
  • 通过触发器应用表的列权限

    现在 我有一个名为 Members 的表 其中包含内容 分为联系人数据 银行数据 现在 管理员应该能够创建 更新 删除用户 这些用户保存在另一个表中 该表只能访问管理员 用户应该获得自己的 mysql 用户帐户 管理员还应该能够设置权限 例
  • Woocommerce 结账自定义选择字段

    我有以下功能 将选择列表添加到 woo commerce 结账表单中 woocommerce form field airport pickup array type gt select class gt array airport pic
  • 如何在 PHP 中从 IP 地址/国家/地区名称查找时区 ID?

    谁能告诉我 PHP 中是否有任何方法可以从 IP 地址或国家 地区名称获取时区区域 例如 亚洲 加尔各答 描述 我正在尝试根据他 她的国家 地区设置用户时区 我从他的 IP 地址获取用户所在国家 地区 但我需要该国家 地区的时区区域 例如
  • 内部 while 循环不工作

    这是我项目网页上的代码片段 这里我想显示用户选择的类别 然后想显示属于该类别的主题 在那里 用户可以拥有多个类别 这没有问题 我可以在第一个 while 循环中打印所有这些类别 问题是当我尝试打印主题时 结果只显示一行 但每个类别中有更多主
  • 无法显示 Laravel 欢迎页面

    我的服务器位于 DigitalOcean 云上 我正在使用 Ubuntu 和 Apache Web 服务器 我的家用计算机运行的是 Windows 7 我使用 putty 作为终端 遵循所有指示https laracasts com ser

随机推荐

  • 使用 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 库的信息