php 使用phpoffice/phpspreadsheet拓展实现导出图片
基础操作参考:https://blog.csdn.net/huaweichenai/article/details/95994006
文档地址:https://phpspreadsheet.readthedocs.io/
github地址:https://github.com/PHPOffice/PhpSpreadsheet
导出插入图片主要使用\PhpOffice\PhpSpreadsheet\Worksheet\Drawing实现
一:方法介绍
$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing->setName('Logo');//设置图片名称
$drawing->setDescription('Logo');//设备图片描述
$drawing->setPath('./images/officelogo.jpg');//设置图片地址
$drawing->setHeight(36);//设置图片高度
$drawing->setCoordinates('A1');//设置图片绘制到指定单元格
$drawing->setWorksheet($spreadsheet->getActiveSheet());//将图片绘制到工作表
二:实现实例
$spreadsheet = new Spreadsheet();//创建一个新的excel文档
$sheet = $spreadsheet->getActiveSheet();//获取当前操作sheet的对象
//将图片绘制到excel中
$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();
$drawing->setPath($img);
$drawing->setHeight(50);
$drawing->setCoordinates('A1');
$drawing->setWorksheet($sheet);
$writer = new Xlsx($spreadsheet);
$writer->save('xxx.xlsx');//生成excel文件//将多个图片绘制到excel中
$spreadsheet = new Spreadsheet();//创建一个新的excel文档
$sheet = $spreadsheet->getActiveSheet();//获取当前操作sheet的对象
//将图片绘制到excel中
foreach ($imgs as $img) {$drawing = new \PhpOffice\PhpSpreadsheet\Worksheet\Drawing();$drawing->setPath($img);$drawing->setHeight(50);$drawing->setCoordinates('A1');$drawing->setWorksheet($sheet);
}
$writer = new Xlsx($spreadsheet);
$writer->save('xxx.xlsx');//生成excel文件
相关文章:
php 使用phpoffice/phpspreadsheet拓展实现导出图片
基础操作参考:https://blog.csdn.net/huaweichenai/article/details/95994006 文档地址:https://phpspreadsheet.readthedocs.io/ github地址:https://github.com/PHPOffice/PhpSpreadsheet 导出插入图片主要使用\PhpOffice\PhpSpreadshee…...
几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办
电脑提示mfc140.dll缺失,如果你不去处理的话,那么你的程序游戏什么都是启动不了的,如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决,今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…...
并发修改异常
并发修改异常(Concurrent Modification Exception)是指在多线程环境下,当一个方法检测到对象的并发修改,但不允许这种修改时,抛出的一种异常。换句话说,当两个或多个线程同时对一个对象进行修改时ÿ…...
split() 函数实现多条件转为数据为数组类型
使用 split() 函数并传递正则表达式 /[,;.-]/ 作为分隔符来将字符串按照逗号、分号和破折号进行拆分,并将结果赋值给 splitArray 数组。下面是一个示例代码: 在上面的示例中,我们使用 split() 函数将 inputString 字符串按照逗号、分号和破折…...
【Springboot】Vue3-Springboot引入JWT实现登录校验以及常见的错误解决方案
文章目录 前言一、JWT简单介绍二、token校验设计思路三、使用步骤Springboot部署JWT引入依赖:创建登录实体类后端:LoginController.java路由守卫函数 四、问题 前言 项目版本: 后端: Springboot 2.7、 Mybatis-plus、Maven 3.8.1…...
VueCli 自定义创建项目及配置
一、VueCli 自定义创建项目 1.安装脚手架 (已安装) npm i vue/cli -g2.创建项目 vue create hm-exp-mobile选项 Vue CLI v5.0.8 ? Please pick a preset:Default ([Vue 3] babel, eslint)Default ([Vue 2] babel, eslint) > Manually select features 选自定义手动…...
2024年节假日sql脚本(区分休息日、节假日、工作日、调休工作)
建表 CREATE TABLE no_work_day (id int NOT NULL AUTO_INCREMENT,day varchar(255) DEFAULT NULL,PRIMARY KEY (id) ) ENGINEInnoDB DEFAULT CHARSETutf8mb3 COMMENT节假日表;执行脚本插入数据 INSERT INTO no_work_day (day) VALUES (20240101); INSERT INTO no_work_day (…...
vue3介绍
介绍 3完全兼容2的语法 vue3:体积更小,性能会更高。底层做了很多优化 2倍左右 vue3vitets 渐进式框架 vue3和vue2 的区别 新语法,性能上提升很多 思想是一致的:动态绑定:状态data&计算属性,监听某些状态…...
Spark SQL自定义collect_list分组排序
想要在spark sql中对group by concat_ws()的字段进行排序,可以参考如下方法。 原始数据如下: ------------ |id |name |type| ------------ |1 |name1|p | |2 |name2|p | |3 |name3|p | |1 |x1 |q | |2 |x2 |q | |3 |x3 |q | …...
2023年云计算的发展趋势如何?
混合云的持续发展:混合云指的是将公有云和私有云进行结合,形成一种统一的云计算环境。随着企业对数据隐私和安全性的要求越来越高,以及在数据存储和处理方面的需求不断增长,混合云正在逐渐成为主流。预计未来混合云将会继续保持高…...
uniapp中picker 获取时间组件如何把年月日改成年月日默认时分秒为00:00:00
如图所示,uniapp中picker组件的日期格式为: 但后端要 2023-11-08 00:00:00格式 如何从2023-11-08转化为 2023-11-08 00:00:00:👇 const date new Date(e.detail.value);//"2023-11-17" date.setHours(0, 0, 0); // 2…...
k8s operator
Kubernetes Operator 是一种用于特定应用的控制器,可扩展 Kubernetes API 的功能,来代表 Kubernetes 用户创建、配置和管理复杂应用的实例。它基于基本 Kubernetes 资源和控制器概念构建,但又涵盖了特定领域或应用的知识,用于实现…...
使用io_uring
目录 升级内核以支持io_uring Io_uring 关注点 有序性 IOPOLL SQPOLL 环大小 wrk线程数量 升级内核以支持io_uring #!/bin/bash#内核源码压缩包 kernel_targz"linux-5.14.21.tar.xz"#内核源码解压后的目录 kernel_source"linux-5.14.21"echo "…...
LeetCode算法题解(回溯)|LeetCode93. 复原 IP 地址、LeetCode78. 子集、LeetCode90. 子集 II
一、LeetCode93. 复原 IP 地址 题目链接:93. 复原 IP 地址 题目描述: 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 . 分隔。 例如:"0.…...
vue、react数据绑定的区别?
Vue 和 React 是两个流行的前端框架,它们在数据绑定方面有一些区别。 Vue 的数据绑定: Vue 使用双向数据绑定(two-way data binding)的概念。这意味着当数据发生变化时,视图会自动更新;同时,当…...
前端Vue 页面滑动监听 拿到滑动的坐标值
前言 前端Vue 页面滑动监听 拿到滑动的坐标值 实现 Vue2写法 mounted() {// 监听页面滚动事件window.addEventListener("scroll", this.scrolling);}, methods: { scrolling() {// 滚动条距文档顶部的距离let scrollTop window.pageYOffset ||document.documentE…...
CSS实现鼠标移至图片上显示遮罩层及文字效果
效果图: 1、将遮罩层html代码与图片放在一个div 我是放在 .proBK里。 <div class"proBK"><img src"../../assets/image/taskPro.png" class"proImg"><div class"imgText"><h5>用户在线发布任务&l…...
【OpenCV实现图像:图像处理技巧之空间滤波】
文章目录 概要导入库空间过滤器模板展示效果分析与总结 概要 空间滤波器是数字图像处理中的基本工具之一。它通过在图像的每个像素位置上应用一个特定的滤波模板,根据该位置周围的相邻像素值进行加权操作,从而修改该像素的值。这种加权操作能够突出或模…...
载波通讯电表的使用年限是多久?
随着科技的飞速发展,智能家居、物联网等概念逐渐深入人心,载波通讯电表作为一种新型的智能电表,凭借其低功耗、高可靠性、远程通讯等优点,广泛应用于居民用电、工业生产等领域。那么,载波通讯电表的使用年限是多久呢&a…...
微信小程序多端应用 Donut 多端编译
目前支持 wxml、wxs、js/ts、json,less/sass 等文件类型,资源支持通过配置区分不同平台 wxml中使用 <!-- #if MP --><view class"test-view">wechat</view><!-- #elif IOS --><view class"test-view"…...
XUnity自动翻译器:轻松实现Unity游戏实时中文翻译的终极指南
XUnity自动翻译器:轻松实现Unity游戏实时中文翻译的终极指南 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 还在为外语Unity游戏中的生涩文本而烦恼吗?XUnity.AutoTranslator是一…...
SwiftUI图像填充与按钮布局
在SwiftUI中,我们常常需要将图像填充整个屏幕,同时在图像上叠加其他UI元素,例如按钮。今天我们来探讨如何在保持图像充满屏幕的同时,确保底部按钮的可见性。 背景 考虑一个场景:我们有一个从URL获取的图片,并希望它填满整个屏幕,同时在图片的底部有一排按钮。我们使用…...
巴拿马电源在数据中心的应用
巴拿马电源借用巴拿马运河极大缩短大西洋和太平洋之间海上航程的战略意义,其在数据中心供配电系统设计中,可极大地缩短从传统供电中心10kV到AC UPS或HVDC柜间的漫长链路,实现更加高效快捷地供电。系统变化原理框图如下图所示巴拿马系统变化原…...
LangChain4j实战:用Java打造本地知识库问答机器人
一、前言 最近AI应用最火的场景之一就是RAG(检索增强生成)——让AI基于你提供的文档来回答问题,而不是让它"胡编"。比如做一个公司内部知识库问答、产品手册问答等。 Java生态中做这个最成熟的库是LangChain4j。本文手把手教你用Java实现一个本地知识库问答机器…...
OpenClaw与金仓数据库(KingbaseES)集成开发应用的全面指南
一、技术背景与价值定位在数字化转型的深水区,企业对数据基础设施的要求已从单纯的"可用性"升级为"自主可控、安全可靠、性能卓越"三位一体的战略需求。金仓数据库(KingbaseES)作为国产数据库的领军者,凭借其…...
基于OAuth设备流为AI助手集成飞书技能:原理、部署与实战
1. 项目概述:为AI助手装上飞书“全能手” 如果你正在使用OpenClaw或EnClaws这类AI助手,并且日常工作重度依赖飞书,那么你很可能遇到过这样的困境:想让AI帮你整理一份飞书文档、查询下个会议时间,或者往多维表格里加条…...
3步掌握微信聊天记录导出:免费备份的终极方案
3步掌握微信聊天记录导出:免费备份的终极方案 【免费下载链接】WeChatExporter 一个可以快速导出、查看你的微信聊天记录的工具 项目地址: https://gitcode.com/gh_mirrors/wec/WeChatExporter 你是否曾为无法备份珍贵的微信聊天记录而烦恼?WeCha…...
ASP.NET Core 性能优化实战
云原生时代,响应速度直接影响成本与用户留存,性能优化已成为业务稳定运行的刚需。用户通常3秒内决定是否离开页面,一个慢接口就可能引发系统雪崩。 ASP.NET Core 默认性能优异,但低效 LINQ 查询、不当内存分配、冗余中间件等问题,会快速侵蚀其性能优势,尤其在云环境中,…...
香港工地火灾的警示:边缘AI如何让“监控”真正变成“安全”
引言近期香港某在建工地发生严重火灾,造成多人伤亡。事故原因指向违规动火、疏散通道堵塞、监控预警不及时。这让我不禁思考:在AI和边缘计算足够成熟的今天,我们能不能用技术提前掐灭火灾的苗头?本文不讲产品,只讲技术…...
量子纠缠与贝尔态:原理、实验验证与应用
1. 量子纠缠与贝尔态基础解析 量子纠缠是量子力学最令人着迷的现象之一,它描述了两个或多个量子系统之间存在的非经典关联。这种关联超越了经典物理的范畴,即使将纠缠粒子分隔到宇宙两端,对一个粒子的测量仍会瞬间影响另一个粒子的状态。 1…...
