吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2010|回复: 9
收起左侧

[Python 转载] 关于Python调用excel2img不适用OFFICE2016的解决方法

[复制链接]
冰炎梦幻 发表于 2023-3-8 10:07
本帖最后由 冰炎梦幻 于 2023-3-8 14:34 编辑

声明:本人不是程序员。对各种语言一窍不通,写程序全靠搜索、复制和粘贴。
如果因为我的代码造成的BUG,可以反馈,但估计我修复不了。

本身事件是希望通过表格生成PPT,释放大家写PPT的时间。公司客户经理经常吐槽我管理的业务汇报PPT难做。

中间出现这么一个小插曲,需要把xlsx中的某sheet截图插入到PPT中。网上学习了方法,下载了Excel2img这个包。
最后感觉没有任何问题的时候,却弹了错:
[Python] 纯文本查看 复制代码
Traceback (most recent call last):
  File "C:\Users\Administrator\Desktop\ICTexcel2PPT_test\截图.py", line 6, in <module>
    excel2img.export_img("IT前评估表格模板.xlsx", "IT前评估表截图.png", "", "IT前评估表测算!A2:R29")
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\excel2img\excel2img.py", line 113, in export_img
    for shape in rng.parent.Shapes: pass
  File "C:\Users\Administrator\AppData\Local\Programs\Python\Python38\lib\site-packages\win32com\client\__init__.py", line 580, in __getattr__
    raise AttributeError(
AttributeError: '<win32com.gen_py.Microsoft Excel 16.0 Object Library.Range instance at 0x65400496>' object has no attribute 'parent'


经过搜索,有一个老师提出了解决方法:
https://blog.csdn.net/weixin_43056332/article/details/128249489
在Excel 2016文件格式中,属性parent更改为Parent。由于Python区分大小写,因此无法找到适当的属性。

那么为了适应两种不同的版本,我对excel2img.py进行了异常捕获:
将excel2img.py的113行由
[Python] 纯文本查看 复制代码
for shape in rng.parent.Shapes: pass

修改为:
[Python] 纯文本查看 复制代码
        try:
            for shape in rng.parent.Shapes: pass
        except AttributeError:
            for shape in rng.Parent.Shapes: pass


这样即可以兼容两种不同的版本了。


免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
QingTianGG + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

QingTianGG 发表于 2023-3-8 10:39
楼主给力,感谢分享
aa2923821a 发表于 2023-3-8 10:40
chayunyuxiang 发表于 2023-3-8 10:47
 楼主| 冰炎梦幻 发表于 2023-3-8 11:03
chayunyuxiang 发表于 2023-3-8 10:47
Excel2img这个包怎么使用?

[Python] 纯文本查看 复制代码
import excel2img
excel2img.export_img("test.xlsx", "test.bmp", "", "Sheet2!B2:C15")

test.xlsx是你的表格文件
test.bmp是保存的文件和格式
Sheet2!B2:C15是截取的表单和范围


或者也可以截图整个Sheert
[Python] 纯文本查看 复制代码
import excel2img
excel2img.export_img("Excel File Full Path", "Target Image full Path", "Excel SheetName", None)

chen0527 发表于 2023-3-8 11:07
这玩意怎么用的

免费评分

参与人数 1吾爱币 +1 收起 理由
冰炎梦幻 + 1 5楼我回复了。

查看全部评分

choujie1689 发表于 2023-3-8 11:18
没有用过这个库,学习一下,用pandas比较多
wqipk 发表于 2023-3-8 14:52
感谢分享
scbzwv 发表于 2023-3-8 16:55
感谢分享
pioneer0118 发表于 2023-3-8 21:21
不错,学习了!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 00:40

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表