python自动化系列之使用win32com操作Excel

简介: python自动化系列之使用win32com操作Excel

win32com是一个可以模拟人为操作程序的库

image.png

win32模块介绍:

win32com 模块主要为 Python 提供调用 windows 底层组件对 word 、Excel、PPT 等进行操作的功能;
不过有其局限性,只能在 Windows 环境下使用,并且需要安装 office 相关软件才行(WPS也行);

win32com模块不仅可以操作Excel,还可以操作其他在windows上安装的应用程序,这里只对操作Excel做简单介绍;

win32com使用入门:

  • 安装并引入

安装方式有多种,推荐使用pip安装方式,打开命令行窗口,执行命令

> pip install pywin32

pip install pypiwin32

其中python2这个模块是pywin32里的,python3是pypiwin32

引入win32com客户端:

> from win32com import client
  • 简单入门使用:

1、打开Excel程序
app = client.Dispatch('Excel.Application')

打开word程序需传入word.Application

2、设置可见,让程序显示在前台
app.Visible = True
3、使用以下方法创建一个工作簿
wb = app.Workbooks.Add()
4、或者打开一个已存在的文件
wb = app.Workbooks.Open('openpyxl.xlsx')
5、获取sheet表的两种方式

根据名字 sheet = wb.Worksheets('Sheet2')
根据标识 sheet = wb.Worksheets[0]

6、添加一个sheet并命名
wb.Worksheets.Add().Name = 'New'
print(sheet.name)

7、给指定单元格赋值:

如给第8行第1列的单元格赋值,这里单元格从1开始计数不是从0开始计数
sheet.Cells(8,1).Value = 'test'
print(sheet.Cells(8,1).Value)

8、分别获取最大行和列

print(len(sheet.UsedRange.Rows))
print(len(sheet.UsedRange.Columns))

9、跨行读取

list0=sheet.Range('A2:A5').Value
print(list0) 读出来的是二维元组

10、保存文件并退出

wb.SaveAs('H:/openpyxl.xlsx')
app.Quit()

其他操作

ws.Range("A1:B1").Font.Bold = True            #加粗
ws.Range("C1:D1").Merge()          #合并单元格,合并之后读写均需选中第一个单元格
ws.Range("A1:T1").Columns.AutoFit() 
#自动调节边框宽度,有时调节出来不准确,需要手动再校正
ws.Range("A1").ColumnWidth = 40          # 手动设置宽度
相关文章
|
7月前
|
安全 JavaScript 开发者
Python 自动化办公神器|一键转换所有文档为 PDF
本文介绍一个自动化批量将 Word、Excel、PPT、TXT、HTML 及图片转换为 PDF 的 Python 脚本。支持多格式识别、错误处理与日志记录,适用于文档归档、报告整理等场景,大幅提升办公效率。仅限 Windows 平台,需安装 Office 及相关依赖。
361 0
|
8月前
|
Web App开发 存储 前端开发
Python+Selenium自动化爬取携程动态加载游记
Python+Selenium自动化爬取携程动态加载游记
|
5月前
|
存储 数据采集 监控
Python定时爬取新闻网站头条:从零到一的自动化实践
在信息爆炸时代,本文教你用Python定时爬取腾讯新闻头条,实现自动化监控。涵盖请求、解析、存储、去重、代理及异常通知,助你构建高效新闻采集系统,适用于金融、电商、媒体等场景。(238字)
811 2
|
6月前
|
数据采集 监控 Shell
无需Python:Shell脚本如何成为你的自动化爬虫引擎?
Shell脚本利用curl/wget发起请求,结合文本处理工具构建轻量级爬虫,支持并行加速、定时任务、增量抓取及分布式部署。通过随机UA、异常重试等优化提升稳定性,适用于日志监控、价格追踪等场景。相比Python,具备启动快、资源占用低的优势,适合嵌入式或老旧服务器环境,复杂任务可结合Python实现混合编程。
|
8月前
|
存储 数据采集 数据可视化
Python自动化分析知网文献:爬取、存储与可视化
Python自动化分析知网文献:爬取、存储与可视化
|
8月前
|
数据采集 存储 监控
Python爬虫自动化:定时监控快手热门话题
Python爬虫自动化:定时监控快手热门话题
|
8月前
|
安全 数据库 数据安全/隐私保护
Python办公自动化实战:手把手教你打造智能邮件发送工具
本文介绍如何使用Python的smtplib和email库构建智能邮件系统,支持图文混排、多附件及多收件人邮件自动发送。通过实战案例与代码详解,帮助读者快速实现办公场景中的邮件自动化需求。
669 0
|
8月前
|
Python
如何根据Excel某列数据为依据分成一个新的工作表
在处理Excel数据时,我们常需要根据列值将数据分到不同的工作表或文件中。本文通过Python和VBA两种方法实现该操作:使用Python的`pandas`库按年级拆分为多个文件,再通过VBA宏按班级生成新的工作表,帮助高效整理复杂数据。
|
8月前
|
数据采集 数据可视化 数据挖掘
用 Excel+Power Query 做电商数据分析:从 “每天加班整理数据” 到 “一键生成报表” 的配置教程
在电商运营中,数据是增长的关键驱动力。然而,传统的手工数据处理方式效率低下,耗费大量时间且易出错。本文介绍如何利用 Excel 中的 Power Query 工具,自动化完成电商数据的采集、清洗与分析,大幅提升数据处理效率。通过某美妆电商的实战案例,详细拆解从多平台数据整合到可视化报表生成的全流程,帮助电商从业者摆脱繁琐操作,聚焦业务增长,实现数据驱动的高效运营。
|
10月前
|
存储 安全 大数据
网安工程师必看!AiPy解决fscan扫描数据整理难题—多种信息快速分拣+Excel结构化存储方案
作为一名安全测试工程师,分析fscan扫描结果曾是繁琐的手动活:从海量日志中提取开放端口、漏洞信息和主机数据,耗时又易错。但现在,借助AiPy开发的GUI解析工具,只需喝杯奶茶的时间,即可将[PORT]、[SERVICE]、[VULN]、[HOST]等关键信息智能分类,并生成三份清晰的Excel报表。告别手动整理,大幅提升效率!在安全行业,工具党正碾压手动党。掌握AiPy,把时间留给真正的攻防实战!官网链接:https://www.aipyaipy.com,解锁更多用法!