模块导入

import openpyxl

读取Excel文件

打开Excel文件

workbook = openpyxl.load_workbook("test.xlsx")

输出表单名字

# 输出工作簿中所有表单名字

print(workbook.sheetnames)

# 遍历所有表单并输出其名字

for sheet in workbook:

print(sheet.title)

创建表单

newSheet = workbook.create_sheet("newSheetName")

获取表单对象

# 根据表单名获取表单

sheet3 = workbook.get_sheet_by_name("Sheet3")

sheet4 = workbook["newSheetName"]

# 获取当前活跃的表单

worksheet = workbook.active

获取当前表单数据行列数

# 获取当前表单数据行数

row_count = worksheet.max_row

# 获取当前表单数据列数

row_count = worksheet.max_column

获取单元格对象

selectcell = worksheet["A1"]

selectcell = worksheet.cell(row=1, column=2) # 行列号从1开始

输出单元格信息

单元格所在的行、列

print(selectcell.row, selectcell.column)

单元格的坐标

print(selectcell.coordinate)

单元格的值

print(selectcell.value)

获取列对象

selectcol = worksheet["C"]

获取列对象中某一单元格

selectcell = selectcol["2"]

获取连续多列组成的对象

selectcols = worksheet["B:C"]

获取所有列组成的对象

allcol = worksheet.cols

获取行对象

selectrow = worksheet["2"]

获取行对象中某一单元格

selectcell = selectcol["C"]

获取连续多行组成的对象

selectcols = worksheet["1:4"]

获取所有行组成的对象

allrow = worksheet.rows

获取一定范围内的单元格组成的对象

cell_range = worksheet["A1:C3"]

遍历一定范围内的单元格

for row_range in cell_range: # 先行再列

for cell in row_range:

print(cell.value)

行的字母表示与数字换算

from openpyxl.utils import get_column_letter, column_index_from_string

print(get_column_letter(2))) # 2 => B

print(column_index_from_string("C")) # C => 3

编辑Excel文件

创建workbook对象

workbook = openpyxl.Workbook()

创建表单

workbook.create_sheet(index=1, title="第二张表")

删除表单

workbook.remove_sheet(workbook.get_sheet_by_name("Sheet3"))

获取当前活跃的表单

sheet = workbook.active

修改表单名称

sheet.title = "设置的表单名称"

修改单元格的值

sheet["A1"] = "New Value"

批量写入数据

方法一

import openpyxl

from openpyxl.utils import get_column_letter, column_index_from_string

workbook = openpyxl.Workbook()

ws1 = workbook.create_sheet("第一页")

for row in range(40):

ws1.append(range(17))

方法二

import openpyxl

from openpyxl.utils import get_column_letter, column_index_from_string

workbook = openpyxl.Workbook()

ws2 = workbook.create_sheet("第二页")

rows = [

["Number", "Batch1", "Batch2"],

[2,40,30],[3,50,25],

[4,30,30],[5,60,10]

]

for row in rows:

ws2.append(row)

方法三

import openpyxl

from openpyxl.utils import get_column_letter, column_index_from_string

workbook = openpyxl.Workbook()

ws3 = workbook.create_sheet("第三页")

for row in range(5,30):

for col in range(15,24):

ws3.cell(column=col, row=row, value=123)

修改完毕保存到文件

workbook.save("created.xlsx")

python自动操作excel_Python自动化办公之操作Excel相关推荐

  1. pythonselenium教程模拟鼠标和键盘_【02篇】python+selenium实现Web自动化:鼠标操作和键盘操作!...

    一.前言 最近问我自动化的人确实有点多,个人突发奇想:想从0开始讲解python+selenium实现Web自动化测试,请关注博客持续更新! 这是python+selenium实现Web自动化第二篇博 ...

  2. python办公自动化知识点_Python自动化办公知识点整理汇总|python基础教程|python入门|python教程...

    https://www.xin3721.com/eschool/pythonxin3721/ 知乎上有人提问:用python进行办公自动化都需要学习什么知识呢? ​ 这可能是很多非IT职场人士面临的困 ...

  3. python 手机自动化操作_Python自动化办公之word操作

    Python自动化办公之word操作,主要是用到python-docx库,针对word操作,对大批量重复性工作,使用python可以节省大量的时间和经历 python-docx word文档中的文字有 ...

  4. python mysql 遍历_Python自动化办公系列六(pdf文档处理)

    PDF 表示 Portable Document Format,使用 .pdf 作为文件扩展名.虽然 PDF 支持许多功能,但现在我们专注于最常做的两件事:从 PDF 读取文本内容和从已有的文档生成新 ...

  5. python办公自动化模块_Python自动化办公Excel模块openpyxl原理及用法解析

    openpyxl 介绍 openpyxl 是一个直接可用于读写 xlsx .xlsm.xltx.xltm 文件的 Python 内置库,借助它可以利用 Python 语法对本地 xlsx 文件进行自动 ...

  6. python怎么自动化录入数据_Python自动化办公之–读取Excel 录入表单

    前言 本篇内容,让你完全掌握Python是如何自动化办公的~ 一.环境准备 1.1  Python 3.7.0 1.2  Pycharm  (Python 开发工具) 1.3 Selenium    ...

  7. [附源码]Python计算机毕业设计OA自动化办公系统

    项目运行 环境配置: Pychram社区版+ python3.7.7 + Mysql5.7 + HBuilderX+list pip+Navicat11+Django+nodejs. 项目技术: dj ...

  8. python自动更新excel_Python办公自动化|自动更新表格,告别繁琐

    大家好,又到了Python办公自动化专题.今天我们讲解的案例是如何使用Python自动更新Excel表格,简单来说就是每天都会对Excel中多个sheet进行更新,需要操作完后可以用程序完成第一张sh ...

  9. python自动更新excel_Python杀死了Excel|自动更新表格,告别繁琐

    大家好,又到了Python办公自动化专题. 今天我们讲解的案例是如何使用Python自动更新Excel表格,简单来说就是每天都会对Excel中多个sheet进行更新,需要操作完后可以用程序完成第一张s ...

最新文章

  1. Nagios插件NDOUtils安装
  2. JStorm与Storm源码分析(八)--计时器工具-mk-timer
  3. linux ubuntu debian apt-get报错 Unable to acquire the dpkg frontend lock 解决方法
  4. C:输入数字计数(数组方法)
  5. DatagramSocket总是发送UDP数据后无法接收数据
  6. .mmp怎么打开查看?
  7. git创建本地分支、提交到远程分支
  8. TCP/IP(五):TCP 协议详解
  9. 看得懂的外观设计模式 python3 实现
  10. DirectX支配游戏!历代GPU架构全解析
  11. 抖音2020研究报告_抖音音乐发布2020抖音音乐生态数据报告
  12. 建议 | 在中国不是程序猿,不建议你用序列化!
  13. Redis详解(五)——Redis多实例
  14. Oracle分页查询与RowNum
  15. java无法定位程序点_无法定位程序输入点是什么意思
  16. [转] 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  17. 【Angular/TS】一文弄懂安全导航操作符(?.)、非空断言操作符/可选链(?.) 、空值合并运算符
  18. Java日期时间主要API:java.time.Duration类和java.time.Period类
  19. 安装新操作系统需要注意的问题
  20. 如何开发微信第三方小程序组件

热门文章

  1. python windows控制台,如何从python启用Windows控制台快速编辑模式?
  2. 云原生生态周报 Vol. 8 | Gartner 发布云原生趋势
  3. mysql 表中添加唯一约束
  4. React上下文-Context
  5. Java 动态代理机制分析及扩展
  6. [游戏模版21] Win32 物理引擎 能量守恒
  7. 利用binlog进行数据库的还原
  8. word下设置多个起始页面
  9. 序列化的 serialVersionUID 到底有什么用?
  10. 一个30岁男人转型码农的平凡之路