本文介绍

说实话,这个需求头一次碰到 ,我相信对于大多数朋友来说,也是头一次碰到。“提取excel文本框中的内容”,对 ,你没有听错!我也不知道你碰到过没有 ,但是这确实是一位朋友提出的很好的问题 。

说实话,Python操作excel的库很多,但是我几乎没有找到实现这个需求的api。比如说 ,我最常使用的openpyxl库,也没有这个功能。

最后查阅一番,只有xlwings这个库了!注意:这个库是第三方库 ,大家一定要提前安装,并且一定要使用最新版本!最新版本!最新版本!不然有些方法你无法使用 。

# 打开cmd窗口,安装xlwings库  
pip install xlwings  
# 使用xlwings库之前	,需要提前导入  
import xlwings as xw 

xlwings库相关知识

首先,咱们看到的的xw.App()是xlwings库中的一个函数 。

xw.App(visible=False,add_book=False) 

其中:

  •   visible: True表示启动excel程序后显示程序窗口。如果为False,表示启动excel程序后 ,程序窗口在后台运行;
  •   add_book: True表示启动excel程序后,新建一个空白工作簿。如果为False,表示启动excel程序后 ,不新建工作簿;

app.books.open(文件路径)

上述函数用于帮助我们打开工作簿 ,里面有一个参数,传入本地excel的路径,用于打开本地的工作簿 。

完整代码

因为这篇文章 ,只是简单介绍了xlwings库的相关使用,有些属性和方法类似于openpyxl,这里我就不详细介绍了。Excel文本框中内容如下:

直接上代码:

import xlwings as xw  
app = xw.App(visible=False,add_book=False)  
wb = app.books.open('test1.xlsx')  
for sheet in wb.sheets:  
    for shape in sheet.shapes:  
        if "TextBox" in shape.name:  
            print(shape.text) # 一定要xlwings最新版本	,老版本没有text方法          
wb.close()  
app.quit() 

结果如下:

当然,这是针对某一个表,掌握了方法 ,给你多个表,不就是循环读取就行吗?

1000个表,自己可以下去尝试一下哦!

文章来源于网络 ,如有侵权请联系站长QQ61910465删除
本文版权归去快排Seo www.SEOgurublog.com 所有,如有转发请注明来出,竞价开户托管,seo优化请联系QQ▷61910465