将Excel中的图片保存下载并导出

目录

效果演示

注意事项

核心代码


有需要将excel中的图片解析出来保存到本地的小伙子们看过来!!!

效果演示

注意事项
  • 仅支持xlsx格式:此方法适用于Office 2007及以上版本的.xlsx文件,旧版.xls格式无法使用。

  • 图片名称:提取的图片名称可能为系统生成(如image1.png),但能确保完整提取。

  • 位置信息:此方法不保留图片在Excel中的位置信息,仅提取原始图片文件。

如果以上这些问题你都能接受,那么就可以使用这个方法了。

核心代码
const JSZip = require('jszip');
const fs = require('fs');
const path = require('path');async function extractImagesFromExcel(excelPath, outputDir) {try {// 读取Excel文件const data = fs.readFileSync(excelPath);const zip = await JSZip.loadAsync(data);// 定位到xl/media目录const mediaFolder = zip.folder('xl/media');if (!mediaFolder) {console.log('未找到图片。');return;}// 创建输出目录if (!fs.existsSync(outputDir)) {fs.mkdirSync(outputDir, { recursive: true });}// 遍历并保存所有图片文件const files = [];mediaFolder.forEach((relativePath, file) => {if (!file.dir) {files.push({ relativePath, file });}});for (const { relativePath, file } of files) {const content = await file.async('nodebuffer');const outputPath = path.join(outputDir, relativePath);fs.writeFileSync(outputPath, content);console.log(`图片已保存至:${outputPath}`);}console.log('所有图片提取完成!');} catch (err) {console.error('提取过程中发生错误:', err);}
}extractImagesFromExcel('./example.xlsx', './excel-images');

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/69802.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Windows11+PyCharm利用MMSegmentation训练自己的数据集保姆级教程

系统版本:Windows 11 依赖环境:Anaconda3 运行软件:PyCharm 一.环境配置 通过Anaconda Prompt(anaconda)打开终端创建一个虚拟环境 conda create --name mmseg python3.93.激活虚拟环境 conda activate mmseg 4.安装pytorch和cuda tor…

机会病原菌——产气克雷伯菌(Klebsiella aerogenes),产生组胺诱发IBS腹痛

2021年6月份,我们分享过一篇“全面认识——肺炎克雷伯菌(Klebsiella pneumoniae) ”的文章,当时也是发现该菌在肠道的人群检出率较高,基于想全面了解该菌,我们查阅整理了很多资料,包括统计了谷禾健康数据库中肺炎克雷伯…

[SAP ABAP] OOALV 报表练习1(操作讲解)

阅读该篇文章之前可先查看以下2篇文章 [SAP ABAP] ALV报表练习1 [SAP ABAP] 复制ABAP程序 上面我们是使用Function ALV进行报表程序的开发,接下来我们将使用OOALV的方式去进行报表开发,以上面的《ALV报表练习1》的程序进行相关的修改 关于OO ALV报表的选择屏幕以及取数逻…

Java--集合(理论)上

目录 一、collection collection常用方法 1.List(可以存在重复元素) 迭代器 迭代器的概念 注意事项 例子 1.ArrayList 特点 2.LinkedLIst 特点 3.Vector 特点 2.Set(无重复元素) 1.HashSet 特点 2.Linkedhashset&…

C语言基础13:循环结构 for和while

循环结构 什么是循环结构 代码在满足某种条件的前提下,重复执行,就叫做循环结构。 循环的分类 无限循环:其实就是死循环,程序设计中尽量避免无限循环,如果非要使用,那么这个循环一定要在可控范围内。有…

C++17 中的 std::gcd:探索最大公约数的现代 C++ 实现

文章目录 一、std::gcd 的基本用法(一)包含头文件(二)函数签名(三)使用示例 二、std::gcd 的实现原理三、std::gcd 的优势(一)简洁易用(二)类型安全&#xff…

vue项目网页图标修改

参考:https://blog.csdn.net/qq_53911056/article/details/144744699 在Vue项目中修改网页图标(favicon)是一个相对简单的过程。以下是详细的步骤: 准备新的图标文件 准备一个新的图标文件(通常是 .ico 格式,但也支持其…

资料搜集-内存屏障

0. 引用 内存屏障详解-CSDN博客 为什么需要内存屏障?_mesi 内存屏障-CSDN博客 内存屏障与CPU优化:理解多核系统中的数据一致性-CSDN博客 内存屏障今生之Store Buffer, Invalid Queue_storebuffer-CSDN博客 内存屏障(Memory Barrier&…

【Java八股文】01-Java基础面试篇

【Java八股文】01-Java基础面试篇 概念Java特点Java为什么跨平台JVM、JDK、JRE关系 面向对象什么是面向对象,什么是封装继承多态?多态体现的方面面向对象设计原则重载重写的区别抽象类和实体类区别Java抽象类和接口的区别抽象类可以被实例化吗 深拷贝浅拷…

线程池-抢票系统性能优化

文章目录 引言-购票系统线程池购票系统-线程池优化 池化 vs 未池化 引言-购票系统 public class App implements Runnable {private static int tickets 100;private static int users 10000;private final ReentrantLock lock new ReentrantLock(true);public void run() …

【多模态大模型】系列1:Transformer Encoder——ViLT、ALBEF、VLMO

目录 1 ViLT2 ALBEF3 VLMO 1 ViLT ViLT: Vision-and-Language Transformer Without Convolution or Region Supervision 图文多模态任务,关键是提取视觉特征和文本特征,然后对齐。在之前的多模态研究工作中,视觉侧通常需要一个目标检测器来…

百度 API 教程 001:显示地图并添加控件

目录 01、基本使用 前期准备 显示地图 开启鼠标滚轮缩放地图 02、添加地图控件 添加标准地图控件 添加多个控件 网址:地图 JS API | 百度地图API SDK 01、基本使用 前期准备 注册百度账号 申请成为开发者 获取密钥:控制台 | 百度地图开放平台…

电容器教程摘要

正如我们将在本电容器教程中看到的那样,电容器是能够在其板上存储电荷的能源。因此,电容器由于存储充电的能力而存储能量,理想的电容器不会松散其存储的能量。 电容器的简单结构是使用两个平行的导电金属板通过绝缘材料通过距离分开。这种绝…

【通俗易懂说模型】一篇弄懂几个经典CNN图像模型(AlexNet、VGGNet、ResNet)

🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言 2. …

【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA

【EXCEL】【VBA】处理GI Log获得Surf格式的CONTOUR DATA data source1: BH coordination tabledata source2:BH layer tableprocess 1:Collect BH List To Layer Tableprocess 2:match Reduced Level from "Layer"+"BH"data source1: BH coordination…

汇编简介常用语法

为什么要有汇编 因为Cortex-A芯片一上电SP指针还没初始化,C环境还没准备 好,所以肯定不能运行C代码,必须先用汇编语言设置好C环境,比如初始化DDR、设置SP 指针等等,当汇编把C环境设置好了以后才可以运行C代码 GNU语法…

内网ip网段记录

1.介绍 常见的内网IP段有: A类: 10.0.0.0/8 大型企业内部网络(如 AWS、阿里云) 10.0.0.0 - 10.255.255.255 B类:172.16.0.0/12 中型企业、学校 172.16.0.0 - 172.31.255.255 C类:192.168.0.0/16 家庭…

ComfyUI流程图生图原理详解

一、引言 ComfyUI 是一款功能强大的工具,在图像生成等领域有着广泛应用。本文补充一点ComfyUI 的安装与配置过程遇到的问题,并深入剖析图生图过程及相关参数,帮助读者快速入门并深入理解其原理。 二、ComfyUI 的安装与配置中遇到的问题 &a…

无人机遥感图像拼接及处理实践技术:生态环境监测、农业、林业等领域,结合图像拼接与处理技术,能够帮助我们更高效地进行地表空间要素的动态监测与分析

近年来,无人机技术在遥感领域的应用越来越广泛,尤其是在生态环境监测、农业、林业等领域,无人机遥感图像的处理与分析成为了科研和业务化工作中的重要环节。通过无人机获取的高分辨率影像数据,结合图像拼接与处理技术,…

web渗透测试之反弹shell SSRF结合redis结合伪协议 redis 未授权访问漏洞

目录 未授权访问漏洞利用:redis 反弹shell 漏洞原因就是: 反弹shell利用方式 反弹shell指的是什么 : 反弹shell的前提条件 步骤: redis未授权访问的三种利用手段反弹shell 利用定时任务反弹shell 攻击主机下设置 写入 webshell 步骤 利用公钥认证写入ro…