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          # 手动设置宽度
相关文章
|
5天前
|
Java Serverless 应用服务中间件
Serverless 应用引擎操作报错合集之部署python项目时,构建过程报错,怎么解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
1天前
|
缓存 Python
[译]Python 和 TOML:新最好的朋友 (2) 使用Python操作TOML
[译]Python 和 TOML:新最好的朋友 (2) 使用Python操作TOML
|
1天前
|
开发者 Python
Python零基础入门-4 使用函数减少重复操作
Python零基础入门-4 使用函数减少重复操作
|
1天前
|
编解码
Python-【键盘-鼠标】移动、操作、输入
Python-【键盘-鼠标】移动、操作、输入
7 0
|
1天前
|
数据采集 人工智能 数据挖掘
让工作自动化起来!无所不能的Python
让工作自动化起来!无所不能的Python
|
1天前
|
机器人 测试技术 持续交付
Python进行自动化测试测试框架的选择与应用
【6月更文挑战第9天】本文介绍了Python自动化测试的重要性及选择测试框架的考量因素,如功能丰富性、易用性、灵活性和集成性。文中列举了常用的Python测试框架,包括unittest、pytest、nose2和Robot Framework,并提供了使用pytest进行单元测试的示例代码。此外,还展示了如何使用Robot Framework进行验收测试和Web UI测试。选择合适的测试框架对提升测试效率和软件质量至关重要,团队应根据项目需求、社区支持、集成性和学习曲线等因素进行选择。通过不断学习和实践,可以优化自动化测试流程,确保软件的稳定性和可靠性。
6 0
|
5天前
|
SQL 关系型数据库 MySQL
Python 操作 MySQL 数据库
Python 操作 MySQL 数据库
|
5天前
|
分布式计算 大数据 数据处理
MaxCompute操作报错合集之在本地用tunnel命令上传excel表格到mc遇到报错: tunnel upload C:\Users***\Desktop\a.xlsx mc里的非分区表名 -s false;该怎么办
MaxCompute是阿里云提供的大规模离线数据处理服务,用于大数据分析、挖掘和报表生成等场景。在使用MaxCompute进行数据处理时,可能会遇到各种操作报错。以下是一些常见的MaxCompute操作报错及其可能的原因与解决措施的合集。
|
5天前
|
IDE 测试技术 持续交付
Python作为一种简洁、易读且功能强大的编程语言,其自动化测试和单元测试框架的丰富性和易用性为开发者提供了极大的便利
【6月更文挑战第10天】本文探讨了Python自动化测试与单元测试框架在提升代码质量和效率中的作用。Selenium、Appium和pytest是常用的自动化测试框架,分别支持Web和移动应用的测试。unittest是Python的标准单元测试框架,提供断言方法和测试组织结构。通过制定测试计划、编写高质量测试用例、持续集成与测试、以及有效利用测试报告,开发者能提高代码质量和开发效率。
23 1
|
7天前
|
Java 测试技术 Apache
《手把手教你》系列技巧篇(六十八)-java+ selenium自动化测试 - 读写excel文件 - 下篇(详细教程)
【6月更文挑战第9天】本文介绍了如何使用Java处理Excel文件中的不同数据类型,包括日期、数字、布尔值和标签(常规字符串)。文章提供了两个示例,分别使用JXL库和Apache POI库来读取Excel文件。
9 1