本文只写针对.xls文件的问题解决!

详细理论讲解还是看原文:C#读取Excel的内容和图片及图片位置, 本文在其基础上解决其只适用于.xlsx文件,并不适用于.xls文件的问题:

有同学会说,用Excel转成xlsx不就行啦?你可以试试hh

不出意外的话会在这条语句报错

// 找节点中的r的命名空间,如果找不到返回默认命名空间
r = nPic.FirstAttribute.IsNamespaceDeclaration ? nPic.FirstAttribute.Value :"http://schemas.openxmlformats.org/officeDocument/2006/relationships";

报错内容:

System.NullReferenceException:“Object reference not set to an instance
of an object.”

经观察调试后我发现,由 .xls 转成的 .xlsx解压后,drawing1.xml文件会有不同,
对于 .xlsx文件,每一个node应该是像下面这样的:

其中标红第三个子节点 xdr:pic 就是我们代码中要寻找的目标。

但 .xls 转成的 .xlsx第三子节点也可能不是xdr:pic

于是要解决这个问题,我们需要在 private List<Tuple<int, int, string>> FindPicCell() 函数的图片链接获取前加入如下判断即可:

// 由于转换后xls与xlsx的xml格式不仅相同
// 加入如下判断后可解决该问题
var nPic = (XElement)nTo.NextNode;
if (nPic.Name.LocalName != "pic") {continue;
}
nPic = ((XElement)((XElement)((XElement)nTo.NextNode).FirstNode.NextNode).FirstNode);
//var nPic = ((XElement)((XElement)((XElement)nTo.NextNode).FirstNode.NextNode).FirstNode);

相关代码也进行了命令行运行相关的修改,请大家按需下载:
https://download.csdn.net/download/weixin_48592526/25865815

C# 读取Excel表格内图片相关推荐

  1. python读取excel表格-python读取excel表格中的数据

    使用python语言实现Excel 表格中的数据读取,需要用到xlrd.py模块,实现程序如下: import xlrd #导入xlrd模块 class ExcelData(): def __init ...

  2. vb.net读取excel并写入dgv_如何用Python读取Excel中的图片?然后写入图片?

    大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进行分析. 那么你知道如何使用Python读 ...

  3. 用 Python 对 Excel 表格内数据进行去重、分类,标记异常及分析

    Python与Excel表格综合实例四:对 Excel 表格内数据进行去重.分类,异常处理及分析 前言: 主要实现代码及思路: 1.主要思路: 2.读取数据函数: 3.数据去重函数: 4.数据分类函数 ...

  4. Qt之如何读取Excel表格数据

    Qt之如何读取Excel表格数据 概述: 代码示例: .pro: 需要包含的头文件: readExcelData.h: readExcelData.cpp: over: 概述: 大家好我是背锅侠&qu ...

  5. java访问excel表格_Java读取excel表格(示例代码)

    Java读取excel表格 一般都是用poi技术去读取excel表格的,但是这个技术又是什么呢 什么是Apache POI? Apache POI是一种流行的API,它允许程序员使用Java程序创建, ...

  6. python处理Excel表格--读取Excel表格

    文章目录 前言 一.读取Excel表格 二.项目:2010年美国人口普查数据自动化处理 2.1 做什么.如何做? 2.2 print()与pprint() 2.3 完整源码及分析 前言 python处 ...

  7. python读取excel批量下载图片

    需求: 有一个Excel表格,里面存储了很多图片地址,要把这些图片批量下载到本地 # 读取Excel中的图片地址,下载图片 # 导入2个包,导入方法为命令行里执行pip install openpyx ...

  8. linux qt写入excel文件内容,Qt 读取Excel表格数据 生成Excel表格并写入数据

    Qt 读取Excel表格数据 生成Excel表格并写入数据 Qt 读取Excel表格数据 生成Excel表格并写入数据 修改.pro文件,增加 axcontainer QT += axcontaine ...

  9. Python 读取 Excel 表格的几种方法

    1.使用python 内建的open()方法读取文本 相对路径:example/ex2.txt,文件内容如下所示: 测试内容,路径和内容,大家可根据自己心情设置. 使用open()方法读取: prin ...

最新文章

  1. 自定义View步骤学习笔记
  2. 脑-脑接口:人类大脑利用意念控制老鼠走迷宫
  3. 缺陷漏测分析:测试过程改进
  4. MySQL数据库:视图View
  5. OpenCV非线性可分离数据的支持向量机的实例(附完整代码)
  6. Shell告警系统(需求分析,告警系统主脚本,告警系统配置文件,告警系统监控项目)...
  7. SQL Server之备份和还原系统数据库
  8. FPGA跨时钟域处理方法延迟法
  9. MySql中左连接查询突然变得很慢
  10. 红帽企业linux 6.4 64位上实现mysql 5.6主从复制_红帽企业Linux 6.4 64位上实现MySQL 5.6主从复制...
  11. word自己新建样式,怎么加入目录?
  12. AS常用指令,常用功能,以及常见问题
  13. 互联网日报 | 微信聊天上线“超链接”功能;B站月付费用户达1500万;优客工场正式登陆纳斯达克...
  14. 仿秒拍视频网UI主题模板+Emlog内核开发
  15. Either类java_基于Java8的Either类
  16. element-ui el-table 表格疯狂抖动
  17. 仿云音乐黑胶唱片功能
  18. 卫星轨道的计算是利用计算机的,计算机的三大应用领域是什么?
  19. 如何使用砌体在WordPress中添加Pinterest样式发布网格
  20. 对递归的理解以及怎么写递归程序

热门文章

  1. android 蓝牙地址连接打印机,android 连接蓝牙打印机 BluetoothAdapter
  2. windows 无法更新计算机启动配置,“windows 无法更新计算机的启动配置。安装无法继续”这样解决...
  3. 广州你让我泪流满面1
  4. 怎样用计算机中的画笔,Word2010中怎样用画笔绘制表格
  5. kali linux 通过粘贴板攻击对方服务器
  6. 自动生成注释作者名字和日期等信息(IDEA Java类)
  7. 如何在2022年建立自己的NFT市场平台
  8. 浙江大学 工程伦理 第二章单元测试答案
  9. 谈谈市场上常用语音芯片方案选型,录音芯片方案选型
  10. 【金猿技术展】同盾科技知识联邦技术——3.0人工智能的坚强基石