下面是一些示例代码,演示使用Python操作Excel的一些常用操作。

打开Excel并添加工作簿

下面的脚本代码简单地调用Excel,添加工作簿并将空工作簿保存在默认文件夹中。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
wb.SaveAs('sample.xlsx')
excel.Application.Quit()

打开现有工作簿

下面的脚本代码打开现有工作簿并通过指定excel.Visible=True来显示该工作簿。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'C:\Users\excelperfect\Documents\sample.xlsx')
excel.Visible = True

添加工作表

下面的脚本代码创建一个新工作簿,添加新工作表,将其命名为MyNewSheet,并保存到默认文件夹中。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets.Add()
ws.Name = "MyNewSheet"
wb.SaveAs('new_sample.xlsx')
excel.Application.Quit()

单元格区域和偏移

下面的脚本代码演示使用cells()和Range()运算符获取单元格地址的不同技术。单个单元格可以使用Cells(row,column),其中row是行号,column是列号。行和列编号从1开始。

可以使用Range()获取单个单元格或单元格区域地址,其中括号中的参数可以是双引号中的单个单元格名称(例如,“A2”)、由冒号分隔并由双引号包围的两个单元格名称的区域(例如“A3:B4”)或由两个cells()标识符表示的区域(如ws.cells(1,1),ws.Cells(2,2))。Offset()方法提供了一种基于对另一个单元格的引用来获取单元格地址的方法。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
ws.Cells(1,1).Value = "完美Excel"
ws.Cells(1,1).Offset(2,4).Value = "excelperfect"
ws.Range("A2").Value = "公众号"
ws.Range("A3:B4").Value = "34"
ws.Range("A6:B7,A9:B10").Value = "67910"
ws.SaveAs('cell_sample.xlsx')
excel.Application.Quit()

自动填充单元格内容

下面的脚本代码使用Excel的自动填充功能检测单元格A1和A2中的数据,然后自动填充至单元格A10。脚本代码在单元格A1中输入1,在单元格A2中输入2,并自动填充区域A1:A10。因此,单元格A1:A10将填充1、2、3、4,……,10。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
ws.Range("A1").Value = 1
ws.Range("A2").Value = 2
ws.Range("A1:A2").AutoFill(ws.Range("A1:A10"),win32.constants.xlFillDefault)
wb.SaveAs('autofill_sample.xlsx')
excel.Application.Quit()

单元格颜色

下面的脚本使用Interior.ColorIndex方法为单元格添加内部(背景)颜色。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
for i in range(1, 21):ws.Cells(i, 1).Value = iws.Cells(i, 1).Interior.ColorIndex = i
wb.SaveAs('color_sample.xlsx')
excel.Application.Quit()

列格式

下面的脚本创建两列数据,一列窄,一列宽,然后通过设置ColumnWidth属性设置列宽的格式。还可以使用Columns.AutoFit()函数自动调整电子表格中的所有列。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
ws.Range("A1:A10").Value = "E"
ws.Range("B1:B10").Value = "完美Excel公众号欢迎你"
ws.Columns(1).ColumnWidth = 1
ws.Range("B:B").ColumnWidth = 29
wb.SaveAs('colwidth_sample.xlsx')
excel.Application.Quit()

从一个工作表复制数据到另一个工作表

下面的脚本使用FillAcrossSheets()方法将数据从一个工作表复制到工作簿中的所有其他工作表。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets.Add()
ws = wb.Worksheets.Add()
ws = wb.Worksheets("Sheet1")
ws.Range("A1:J10").Formula = "=row()*column()"
wb.Worksheets.FillAcrossSheets(wb.Worksheets("Sheet1").Range("A1:J10"))
wb.SaveAs('copy_Sample.xlsx')
excel.Application.Quit()

格式化工作表单元格

下面的脚本创建两列数据,然后设置工作表中使用的字体类型和字体大小的格式。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets('Sheet1')
for i, font in enumerate(["Arial", "Courier New", "等线", "微软雅黑", "宋体"]):ws.Range(ws.Cells(i+1, 1), ws.Cells(i+1,2)).Value = [font, i+i]ws.Range(ws.Cells(i+1, 1), ws.Cells(i+1,2)).Font.Name = fontws.Range(ws.Cells(i+1, 1), ws.Cells(i+1,2)).Font.Size = 12+i
ws.Range("A1:A5").HorizontalAlignment = win32.constants.xlRight
ws.Range("B1:B5").NumberFormat = "$###,##0.00"
ws.Columns.AutoFit()
wb.SaveAs('format_sample.xlsx')
excel.Application.Quit()

设置行高

下面的脚本创建一些示例数据,然后调整数据的行高度和对齐方式。可以使用RowHeight方法设置行高度,也可以使用AutoFit()基于单元格内容自动调整行高度。


import win32com.client as win32
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Add()
ws = wb.Worksheets("Sheet1")
ws.Range("A1:A2").Value = "小"
ws.Range("B1:B2").Value = "小\n兔"
ws.Range("C1:C2").Value = "一只\n小\n兔"
ws.Range("D1:D2").Value = "这是\n一只\n小\n兔"
ws.Rows(1).RowHeight = 60
ws.Range("2:2").RowHeight = 120
ws.Rows(1).VerticalAlignment = win32.constants.xlCenter
wb.SaveAs('rowheight_sample.xlsx')
excel.Application.Quit()

注:代码中的pywin32库在https://pypi.org/project/pywin32。

Python操作Excel的一些基本程序代码相关推荐

  1. Python操作Excel工作簿的示例代码(.xlsx)

    前言 Excel 作为流行的个人计算机数据处理软件,混迹于各个领域,在程序员这里也是常常被处理的对象,可以处理 Excel 格式文件的 Python 库还是挺多的,比如 xlrd.xlwt.xluti ...

  2. python处理excel表格实例-使用Python操作excel文件的实例代码

    使用的类库 pip install openpyxl 操作实现 •工作簿操作 # coding: utf-8 from openpyxl import Workbook # 创建一个excel工作簿 ...

  3. python 操作excel神器_【转】多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!...

    转自:https://blog.csdn.net/weixin_41846769/article/details/108273349 前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实 ...

  4. python每行输出8个式子_多图+代码 | 详解Python操作Excel神器openpyxl的各种操作!

    前言 大家好,在之前的十几篇办公自动化系列文章中,我们大多是以真实的案例需求来讲解Python如何进行自动化办公操作,并且多次使用到openpyxl来处理表格,今天我们就来详细的盘点Python操作E ...

  5. 最全Python操作excel代码,让你每天早下班两小时

    在数字化时代,很多人工作中经常和excel打交道.本文介绍Python操作excel的脚本,让你工作效率更高.    文章目录 一.安装openpyxl模块 二.加载库 三.创建文件和工作表 四.在工 ...

  6. 用python处理excel-使用Python操作Excel文档(一)

    Python | 使用Python操作Excel文档(一) 0 前言 在阅读本文之前,请确保您已满足或可能满足以下条件: 请确保您具备基本的Python编程能力. 请确保您会使用Excel. 请确保您 ...

  7. 全网最全 Python 操作 Excel 教程,建议收藏!

    [欢迎关注微信公众号:厦门微思网络] 微思网络(官网):https://www.xmws.cn/ 0 Python Excel库对比 我们先来看一下python中能操作Excel的库对比(一共九个库) ...

  8. 详解Python操作Excel文件

    前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法. 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库,支持.xls以及.xlsx文件. 地 ...

  9. Python openpyxl打开有公式的excel表取值错误的解决办法,Python openpyxl获取excel有公式的单元格的数值错误,Python操作excel(.xlsx)封装类

    Python openpyxl打开有公式的表格,如果直接读取,会出现有公式的单元格为空或零的情况. 参见: https://blog.csdn.net/weixin_45903952/article/ ...

最新文章

  1. 最大子段和——分治与动态规划
  2. 瞎说系列之Object.assign入门
  3. 《代码大全》阅读笔记-18-表驱动法
  4. C++ 内置或者复合类型 成员,必须自己定义构造函数来初始化……什么样的是【内置】 【复合类型】
  5. java 天猫模拟登陆_基于servlet+filter+反射模拟实现天猫首页的后端
  6. 前端开发 图片的插入 。。。。需演练
  7. 太像人手了!OpenAI用打DOTA的算法,教会了机械手“盘核桃”
  8. java中对象与字节数组相互转换
  9. jQuery EasyUI API 中文文档 - 菜单按钮(MenuButton)
  10. 快速获得CSDN积分的技巧
  11. matlab中的方波信号图片_【Matlab】Sound
  12. 获取属性配置config文件
  13. uniapp的项目,scss和js实现跑马灯
  14. 外观html与外观css的区别,用房间和装修来解读html代码与css样式的区别和关系
  15. Verilog四位全加器
  16. 安卓搭建http服务器——NanoHttpd
  17. 什么是Linux发行版 以及各发行版的区别
  18. 正则表达式替换某个字符
  19. 零基础自学UI设计要看什么书籍和资料
  20. 如何做一名成功的业务员 【转帖】

热门文章

  1. 小程序中计算距离某个节日还剩多少天
  2. 你还在一天三充?华为手机开启这个隐藏省电功能,两天一充很简单
  3. 吸顶灯怎么固定天花板_吸顶灯安装方法
  4. idea-spring boot 项目修改package包名后无法运行
  5. python mkl 锐龙 cpu_自己动手,解开Matlab对AMD锐龙处理器性能封印
  6. 数字孪生技术在校园能够发挥什么样的作用?
  7. 1、顺序存储:线性表/栈/队列:理论+C语言实现--详细
  8. nodejs学习分享
  9. 教你快速学会画动漫人物表情
  10. mysql查询转json数据库_json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)...