Python通过pywin32操作Excel
欢迎关注微信公众号“Python小灶,和我一起每天学习Python新知识”
我的Github地址
需求
Excel现在已经成为生活工作中不可缺少的软件之一,如果你经常使用此软件,或许已经被它各种各样高效的操作所折服。然鹅,我还是要告诉你,当Python遇上Excel,可以让Excel的效率提高不止100倍!!!
导航
day01:简单认识Python和Excel,进行新建和打开表格的入门操作
day02:对表格进行基础的增删改查操作
day03:开始骚操作,
1、批量建表、删表、建sheets、删sheet、拆表、合表
2、讲解Python操作Excel的方法依据
day04: 这节课比较简单,主要是字体、单元格颜色等的设置
思路
目前可实现的对excel的操作的第三方库较多,本人用过的有openpyxl,不过本次系列教程用win32com演示,因为win32com支持的格式更为宽泛。
难度
★★★★
视频讲解
(欢迎来B站找我,“有只小新”,B站观看效果更佳,可以倍速观看)
https://www.bilibili.com/video/av711562274
搜索av711562274
或者长按二维码识别(想要二维码有这种效果,请关注公众号领取教程)
准备工作
1、Python+Pycharm社区版
2、pywin32(win32com)
Day01:用Python创建和打开Excel表格
"""
-*- coding: utf-8 -*-
@Author : blyang
@project : PythonCode
@Time : 2020/7/1 23:21
"""
import os
import time
import math
import win32com.client as win32
excel = win32.Dispatch("Excel.Application")
excel.DisplayAlerts = False # 关闭警告
excel.Visible = True # 程序可见
pwd = os.getcwd()
# 新建一个表格
# wb = excel.Workbooks.Add()
# wb.SaveAs(pwd + "\\demo.xlsx")
# time.sleep(3)
# 打开一个已有的表格
excel.Workbooks.open(pwd + os.sep + "demo.xlsx")
# 额外示例
ws = excel.Worksheets("Sheet1")
for i in range(1, 101):ws.Cells(i, 1).Value = iws.Cells(i, 2).Value = math.pow(i, 2)
time.sleep(5)
ws.SaveAs(pwd + os.sep + "demo.xlsx")
# 退出
excel.Quit()
Day02:用Python操作Excel进行基础的增删改查
"""
-*- coding: utf-8 -*-
@Author : blyang
@project : PythonCode
@Time : 2020/7/28 23:19
"""
import os
import time
import win32com.client as win32excel = win32.Dispatch("Excel.Application")
excel.DisplayAlerts = False # 关闭警告
excel.Visible = True # 程序可见pwd = os.getcwd()
myexcel = excel.Workbooks.open(pwd + os.sep + "demo.xlsx") # 打开一个已有的表格
mysheet = myexcel.Worksheets("Sheet1") # 使sheet1处于工作状态
for i in range(1, 10): # 增for j in range(1, i + 1):mysheet.Cells(i, j).Value = "{} * {} = {}".format(i, j, i * j)# time.sleep(0.1)mysheet.Cells(1, 1).Value = None # 删
# time.sleep(0.1)
mysheet.Range("A1:D5").Value = Nonefor i in range(1, 10): # 查,改for j in range(1, i + 1):if mysheet.Cells(i, j).Value is not None:mysheet.Cells(i, j).Value = "Hello Python"# time.sleep(0.1)mysheet.Range("A1:I5").Value = None
# time.sleep(0.1)myexcel.SaveAs(pwd + os.sep + "demo.xlsx") # 保存
excel.Quit() # 退出
day03:1、批量建表、删表、建sheets、删sheet、拆表、合表,2、讲解Python操作Excel的方法依据
"""
-*- coding: utf-8 -*-
@Author : blyang
@project : PythonCode
@Time : 2020/8/5 22:43
"""
import os
import time
import win32com.client as win32excel = win32.Dispatch("Excel.Application")
excel.DisplayAlerts = False # 关闭警告
excel.Visible = True # 程序可见pwd = os.getcwd()
# 新建N个表格
# wb = excel.Workbooks.Add()
# for i in range(1, 15):
# wb.SaveAs(pwd + os.sep + "8月{}号.xlsx".format(i))# 删除N个表格
# for i in range(1, 15):
# os.remove(pwd + os.sep + '8月{}号.xlsx'.format(i))myexcel = excel.Workbooks.open(pwd + os.sep + "demo.xlsx") # 打开一个已有的表格
# for i in range(1, 6):
# newSheet = myexcel.Sheets.Add()
# newSheet.Name = "8月{}号".format(i)# for i in range(1, 6):
# if i > 1:
# newSheet = myexcel.Sheets.Add(Before=None, After=myexcel.Worksheets("8月{}号".format(i-1)))
# newSheet.Name = "8月{}号".format(i)
# else:
# newSheet = myexcel.Sheets.Add(Before=None, After=myexcel.Worksheets("Sheet1"))
# newSheet.Name = "8月{}号".format(i)# 删除N个sheets
# for i in range(1, 6):
# myexcel.Worksheets("8月{}号".format(i)).Delete()# 激活工作表
# for i in range(1, 6):
# myexcel.Worksheets("8月{}号".format(i)).Activate()
# time.sleep(1)# 移动工作表
# myexcel.Worksheets("8月3号").Move(Before=None, After=myexcel.Worksheets("Sheet1"))
# 拷贝移动
# myexcel.Worksheets("8月2号").Copy(Before=None, After=myexcel.Worksheets("Sheet1"))# N个sheets拆分成独立的表格 VB代码演示
# for i in range(1, 6):
# name = "8月{}号".format(i)
# myexcel.Worksheets(name).Copy()
# excel.ActiveWorkbook.SaveAs(pwd + os.sep + "{}.xlsx".format(name))
# excel.Workbooks.Close()# N个独立的表格合成一个
for i in range(1, 6):name = "8月{}号".format(i)my_excel = excel.Workbooks.open(pwd + os.sep + "{}.xlsx".format(name))my_excel.Worksheets(name).Copy(Before=None, After=myexcel.Worksheets("Sheet1"))myexcel.SaveAs(pwd + os.sep + "demo.xlsx") # 保存
excel.Workbooks.Close()
excel.Quit() # 退出
day04:这节课比较简单,主要是字体、单元格颜色等的设置
"""
-*- coding: utf-8 -*-
@Author : blyang
@project : PythonCode
@Time : 2020/8/17 22:59
"""
import os
import time
import random
import win32com.client as win32
excel = win32.Dispatch("Excel.Application")
excel.DisplayAlerts = False # 关闭警告
excel.Visible = True # 程序可见
pwd = os.getcwd()
# 打开一个已有的表格
myexcel = excel.Workbooks.open(pwd + os.sep + "demo.xlsx")
# 选择指定工作表
# myexcel.Worksheets(2).Activate()
# mySheet = myexcel.Worksheets(2)
# # 设置单元格字体为红色
# mySheet.Cells(1, 1).Font.ColorIndex = 3
# time.sleep(1)
# # 设置单元格字体为粗体
# mySheet.Cells(1, 1).Font.Bold = True
# time.sleep(1)
# # 设置单元格字体
# mySheet.Cells(1, 1).Font.Name = "微软雅黑"
# time.sleep(1)
# # 设置单元格颜色
# # https://docs.microsoft.com/en-us/previous-versions/office/developer/office-2007/cc296089(v=office.12)?redirectedfrom=MSDN
# mySheet.Range("A2:A16").Interior.ColorIndex = 15
# 一个很炫酷但是没鸟用的小拓展
myexcel.Worksheets(3).Activate()
mySheet = myexcel.Worksheets(3)
# for i in range(57):
# if i > 54:
# break
# mySheet.Cells(1, 1).Interior.ColorIndex = i
# time.sleep(0.3)
# mySheet.Cells(1, 2).Interior.ColorIndex = i + 1
# time.sleep(0.2)
# mySheet.Cells(1, 3).Interior.ColorIndex = i + 2
# time.sleep(0.1)
# while True:
# for i in range(1, 10):
# for j in range(1, 10):
# mySheet.Cells(i, j).Interior.ColorIndex = random.randint(0, 56)
# time.sleep(0.1)
myexcel.SaveAs(pwd + os.sep + "demo.xlsx")
# 退出
excel.Quit()
Python通过pywin32操作Excel相关推荐
- Python+pywin32操作Excel文件常用功能(268行代码+注释)
全国高校教师Python课程高级研修班(线上,11月20-21日) 中国大学MOOC"Python程序设计基础"第5次开课 推荐图书: <Python程序设计(第3版)> ...
- pywin32+excel(四)使用pywin32操作excel进阶
在使用dll钩子注入目标程序获取数据后,得到存放数据的文本文件 文章目录 1. python调用exe 1.1 直接使用os.system( )来调用 1.2 使用subprocess.call() ...
- Python读取和操作Excel(.xlsx)文件
Python读取和操作Excel(.xlsx)文件 使用openpyxl库来控制excel文件(即.xlsx为后缀的文件).这里介绍一下excel数据的结构. 打开excel文件后生成一个workbo ...
- Pywin32操作Excel数据的类
练习Pywin32操作Excel数据.学习https://blog.csdn.net/qdx411324962/article/details/44270455这篇博客后编写的内容.编写完成后进行测试 ...
- Python中xlrd操作excel单元格
学习目标 Python中xlrd操作excel单元格 学习内容 1.获取工作表 sheet=data.sheet_by_index(0) 2.返回单元格对象 sheet.cell(1,2) #返回第二 ...
- 【Python基础】python使用openpyxl操作excel
1.openpyxl库介绍 openpyxl最好用的python操作excel表格库,不接受反驳: openpyxl官网链接:openpyxl官网 openpyxl只支持[.xlsx / .xlsm ...
- python连接excel_Python操作Excel
使用python来操作Excel需要用到xlrd和xlwt这两个库,作用是在python中读取和写入excel数据,使用前需要安装和import导入: 1.Python 读 excel数据 使用Pyt ...
- python 删除sheet_Python操作Excel删除一个Sheet
在使用Python进行数据分析处理,操作Excel,有时需要删除某个Excel里的某个sheet,这里记录一个我测试成功的一个办法 软件环境: 1.OS:Win 10 64位 2.Python 3.7 ...
- python提取excel-Python操作Excel之数据提取
最近发现excel数据量极大,并且通过简单的数据操作不能提取到我需要的数据,如果单独操作,数据量太大耗时太长. 想着通过简单的方式,并且快速提取数据,就想到了Python. python操作Excel ...
最新文章
- Hadoop- Hadoop运维小计
- qualcomm memory dump 抓取方法
- Route Flap Dampening
- python类方法继承_对python中类的继承与方法重写介绍
- svn merger的时候 报远程主机强迫_SVN与Git比较的优缺点差异
- c#二叉树 取叶子节点个数_数据结构第四章:树与二叉树(二叉树的概念、性质、特殊二叉树)...
- BZOJ 2208[Jsoi2010]连通数
- 安装mysql的过程可以中断吗_安装 mysql 遇到的坑(附 mysql 安装过程)
- 【DI专题】在 DI 脚本文件中调用存储过程
- 【NLP】语言模型和迁移学习
- linux成为管理员_为什么要成为系统管理员
- 家用linux远程管理,linux远程管理器
- 美国华盛顿州立大学计算机排名,2019上海软科世界一流学科排名计算机科学与工程专业排名华盛顿州立大学排名第301-400...
- 【原创smarty仿淘宝商品图片轮播+放大镜效果】
- python用法查询软件下载_布同自制Python函数帮助查询小工具
- scrapy实战之与豆瓣反爬抗争
- 今天nba预测分析_NBA情报预测分析_NBA足球俱乐部 - 全球体育网
- 论文精读2: Ground-to-Aerial Image Geo-LocalizationWith a Hard Exemplar Reweighting Triplet Loss
- pytorch--切断梯度的方法
- 用计算机打山有木兮,山有木兮 - 在线打字测试(dazi.kukuw.com)