python导出Excel图表类

前期准备就绪,网上已有类似的导出Excel图表类,但是在后面的使用中发现问题,即关键函数已在下面代码中标红:

调用代码:

执行成功,接下来到上面设置的导出路径查看导出的图片:

从文件查看中看到,图表文件已经成功导出;

图表导出的问题

但是,图表的导出并未能完全成功,从以上文件信息中看到导出的图片存在0字节的文件;点击查看图片可发现提示为空文件

具体原因分析:

经过本人多次的测试和探索发现:有效的图片为Excel的图表区域显示页面,通俗一点的说,即打开excel的图表所在sheet,当前屏幕显示了哪些图表,导出的图片就正常;在我个人认为可能是Office或Python对Excel的某种缓存功能,实际的缓存范围大概在当前显示页面的150%左右,超出区域的图表在未加载的情况下,导出成了0字节错误文件;

即使发现了这个BUG,网上搜索也未能找到有效的类似"关闭加载缓存"的技术贴,那么还得根据导出图表的基础逻辑解决;

继续测试,在Excel的图表中缩放显示全部图片测试,按照测试数据图表范围,缩放25%可显示全部图表(>_>或者把所有图表拖动到一个页面显示):

如上述文件查看所示,当图表所在的sheet页面显示了所有图表时,所有图表的图片都成功的导出;

但是,缩放导出的图片是根据Excel的图标实际显示大小来导出的,所以缩放模式下,导出的图片大小、清晰度都不能正常使用;

解决方案

综上所述,已知Python根据Excel的图标实际显示来导出,那么,可以让Python的导出代码执行前加载所有正常图表,在之前的python导出Excel图表的类中,使用异步方式调用excel.application,即文档以后台方式导出图表;

如果需要完成Excel的所有图表加载,即必须手动或代码干预导出过程,在类中已经有代码可以设置文档可见;

excel.Visible = True#设置导出Excel是否可见,当值为True时,可见打开的Excel

修改原代码:

解决方式显而易见,过程不多做描述;个人是使用win32api、win32con模块模拟键盘操作加载所有图表,因无法确认图表sheet所在的位置,需提前将图表所在的sheet设置在Excel文档的最后;或者可根据实际情况,由代码完成所有sheet的加载操作(比如多按几下pagadown翻页,屏幕识别判定内容范围等....)

总结

从python导出Excel的图表来说,这一块的功能比较适用用单个图表的导出操作,如果涉及到大量的批量的图表导出,这种导出方式不太友好;实际工作如果涉及到批量的简单图表制作,重复度较高的工作性质可以由 matplotlib 模块自己绘制图表;

python3 excel 图表导出图片_使用python代码将excel中的图表导出为图片相关推荐

  1. python处理excel表格教程视频_用Python这样操作Excel?值得一学,总有一天用得上!...

    最近一直在做项目里的自动化的工作,为了是从繁琐重复的劳动中挣脱出来,把精力用在数据分析上.自动化方面python是在好不过了,不过既然要提交报表,就不免要美观什么的. 如果你感觉学不会?莫慌,小编推荐 ...

  2. python中ls是什么_使用Python代码实现Linux中的ls遍历目录命令的实例代码

    一.写在前面 前几天在微信上看到这样一篇文章,链接为:https://www.jb51.net/it/692145.html,在这篇文章中,有这样一段话,吸引了我的注意: 在 Linux 中 ls 是 ...

  3. python从视频中提取音频信号_三行Python代码提取视频中的音频

    作者:小舟逝江海 http://suo.im/5yOtbx 写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安 ...

  4. matlab如何导入大量的图片_本期介绍:如何在论文中插入高清的图片

    科研资源库 学术论文: ➤本期介绍如何在论文中插入高清的图片! ➤ 发现用下面的方法, 可以得到高清的矢量图, 非常好用, 推荐给需要的同学! 加工学术论文时,尤其是理工类论文,很多配图是Matlab ...

  5. python 操作word 替换字符串为图片_用python将.docx文件中的字符串替换为jpg

    对不起,我的英语不好.在 我试图用.jpg文件替换.docx文件中的字符串.首先,我将JPEG转换为BMP并将其移动到剪贴板,然后使用找到.执行用"^c"替换docx文件中的特殊字 ...

  6. python中函数提高代码执行速度吗_为什么Python代码在一个函数中运行得更快?

    匿名用户 除了局部/全局变量存储时间外,操作码预测使函数更快. 正如其他答案所解释的,该函数在循环中使用store_fast操作码.下面是函数循环的字节码:>> 13 FOR_ITER 6 ...

  7. python代码图片头像_60行Python代码一键拼出你的微信好友图片墙!

    原标题:60行Python代码一键拼出你的微信好友图片墙! 源 /高级农民工文 /苏克1900 近 2000 位好友的头像拼图,有没有犯密集恐惧症?这并不震撼,如果你有 5000 位好友的话,做出来的 ...

  8. PEP8 - Python 代码风格指南中英对照

    PEP8 - Python 代码风格指南中英对照 Introduction A Foolish Consistency is the Hobgoblin of Little Minds Code la ...

  9. Python代码发现链表中的环并输出环中的第一个元素

    Python代码发现链表中的环并输出环中的第一个元素 # Python代码发现链表中的环并输出环中的第一个元素 # Find first node of loop in a linked list # ...

最新文章

  1. Echo团队Alpha冲刺随笔 - 第九天
  2. Oracle-No.04 Oracle视图加主键解决hibernate复合主键问题
  3. linux ssh和sftp区别,使用 SSH 和 SFTP 协议
  4. android串口通讯奇偶校验,串口通讯奇偶数校验及CRC校验如何使用详解
  5. 动词ing基本用法_如果实在分不清英语动名词和现在分词,那就直接学习-ing分词...
  6. mysql初始化主机名无法解析
  7. iframe高度自适应的6个方法
  8. 让版面充满空间感的海报PSD分层模板,你一定要看看!
  9. 图文讲解:iOS App提交流程
  10. 春晚魔术,醉翁之意不在酒
  11. 【labelme】制作标签数据的完整流程
  12. 计算机如何通过手机连接网络打印机,手机连接电脑打印机怎么设置
  13. 项目mysql数据导入数据的Java程序
  14. 音质好的蓝牙耳机有哪些?盘点四款好音质蓝牙耳机
  15. STM32F103寄存器方式点亮LED流水灯
  16. 机器学习第一章:简介和概括
  17. Flink process 和 apply 简单案例
  18. 美国最神秘的自动驾驶项目ZOOX:投资 1 亿美元才能一窥究竟
  19. 《Python之禅》
  20. 深入理解SVM,详解SMO算法

热门文章

  1. csdn博客使用反馈,bug
  2. ElasticSearch 从零到入门
  3. html表格图片右对齐,更好的方式在HTML表格中右对齐文本
  4. 鸿蒙麒麟食华为的什么系统,你好,鸿蒙!华为自研系统真的来了,还有麒麟、朱雀.........
  5. ailoop2里面的1个待考察的,在ailoop3里面的操作。(先使用海巨人,不使用英雄技能召唤图腾的问题)...
  6. 如何批量将手写数据转Excel?
  7. NOIP(CSP)初赛知识总结
  8. 内核编译时出现 ERROR: modpost: “some_function” [xxx.ko] undefined!
  9. Quality-Estimation0 (翻译质量评价-使用 BERT 特征训练 QE 模型)
  10. DC 逻辑综合的基本流程