一、安装

>>> pip install openpyxl

  1. import openpyxl

二、常用操作

1、创建与保存一个工作簿

  1. wb = openpyxl.Workbook()
  2.  
  3. wb.save("sample.xlsx")

2、获取第一个工作表(将工作看成一个二维数组)

  1. ws = wb.active
  2.  
  3. ws.title
  4.  
  5. ws["A1"] = 520
  6.  
  7. ws.append([1, 2, 3])

3、打开一个工作簿

  1. wb = openpyxl.load_workbook("sample.xlsx")

4、获取工作表名称列表,再通过工作表名称获取工作表对象

  1. sheetnames = wb.sheetnames or wb.get_sheet_names()
  2. # ["sheet", "example", "maoyan"]
  3.  
  4. example = wb.get_sheet_by_name("example") or wb["example"]

5、创建和删除工作表

  1. wb.create_sheet(index=0, title="example") # index:工作表位置 title:工作表名称
  2.  
  3. wb.remove_sheet(wb["example"]) # 需要传入一个工作表对象

6、定位单元格

  1. example["A1"] # 获取单元格对象
  2. example["A"] # 获取单元格元组(列)
  3. example[""] # 获取行单元格元组(行)
  4.  
  5. c = example["C4"]
  6. c.offset(1, 3) # 单元格偏移
  7. # C+1=D,4+3=7,D7

7、'AAA'是多少?

  观察工作表发现工作表的列索引为A-Z、AA-AZ、BA-BZ······

获取列数字索引对应的字符格式和字符索引对应的数字格式

  1. openpyxl.cell.cell.get_column_letter(496)
  2. # 'SB'
  3.  
  4. openpyxl.cell.cell.column_index_from_string("SB")
  5. #

8、访问多个单元格(先行后列)

方式一:

  1. ws["A1":"B2"]
  2. # ((<Cell 'MaoYan'.A1>, <Cell 'MaoYan'.B1>), (<Cell 'MaoYan'.A2>, <Cell 'MaoYan'.B2>), (<Cell 'MaoYan'.A3>, <Cell 'MaoYan'.B3>))
  3.  
  4. ws["A":"B"]
  5. # ((<Cell 'MaoYan'.A1>, <Cell 'MaoYan'.A2>, <Cell 'MaoYan'.A3>, <Cell 'MaoYan'.A4>, <Cell 'MaoYan'.A5>, <Cell 'MaoYan'.A6>, <Cell 'MaoYan'.A7>, <Cell 'MaoYan'.A8>, <Cell 'MaoYan'.A9>, <Cell 'MaoYan'.A10>), (<Cell 'MaoYan'.B1>, <Cell 'MaoYan'.B2>, <Cell 'MaoYan'.B3>, <Cell 'MaoYan'.B4>, <Cell 'MaoYan'.B5>, <Cell 'MaoYan'.B6>, <Cell 'MaoYan'.B7>, <Cell 'MaoYan'.B8>, <Cell 'MaoYan'.B9>, <Cell 'MaoYan'.B10>))

方式二:

  1. # ws.rows、ws、columns 生成器
    for row in ws.rows: # 多行
  2. print(row[0])
  3.  
  4. for row in ws.iter_rows(min_row=2, min_col=1, max_row=4, max_col=2): # 指定行
  5.   print(row[0])

9、拷贝工作表

  1. wb.copy_worksheet(ws["example"]) # 工作表对象

10、个性化工作表标签栏

  1. ws.sheet_properties.tabColor = "FFFFFF"

11、调整行高和列宽

  1. ws.row_dimensions[2].height = 100 # 修改行高
  2.  
  3. ws.column.dimensions["A"] .width = 20 # 修改列宽

12、合并和拆分单元格(合并拆分要一致)

  1. ws.merge_cells("A1:C3")
  2.  
  3. ws.unmerge_cells("A1:C3")

13、冻结窗口

  1. ws.freeze_panes = "B8" # 指定冻结的单元格后,往下滚动,小于第行的不动,往右滚动,小于第B列的不动
  2.  
  3. ws.freeze_panes = "A1" # 解冻,设置为A1就可以了

openpyxl(python操作Excel)的更多相关文章

  1. openpyxl python操作Excel表格,

    这里openpyxl只支持xlsx格式的Excel,openpyxl使用起来会更方便一些,所以如果只操作小流水线文件的话,那么可以优先选择openpyxl,如果要兼容xls的话,就使用xlrd/xlw ...

  2. python操作excel——openpyxl

    一.概述 python操作excel各个库对比:https://www.cnblogs.com/paul-liang/p/9187503.html 官方文档:https://openpyxl.read ...

  3. 转 Python - openpyxl 读写操作Excel

    Python - openpyxl 读写操作Excel   openpyxl特点   openpyxl(可读写excel表)专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间 ...

  4. Python操作excel(xlrd和xlwt)

    Python操作excel表格有很多支持的库,例如:xlrd.xlwt.openpyxl.win32com,下面介绍使用xlrd.xlwt和xlutils模块这三个库不需要其他的支持,在任何操作系统上 ...

  5. Python 利用Python操作excel表格之openyxl介绍Part2

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436) ## 绘图 c = LineChart()    ...

  6. Python 利用Python操作excel表格之openyxl介绍Part1

    利用Python操作excel表格之openyxl介绍 by:授客 QQ:1033553122 欢迎加入全国软件测试交流qq群(群号:7156436),免费获取以下性能监控工具(类似Nmon精简版) ...

  7. 运营的Python指南 - Python 操作Excel

    这是一份写给运营人员的Python指南.本文主要讲述如何使用Python操作Excel.完成Excel的创建,查询和修改操作. 相关代码请参考 https://github.com/RustFishe ...

  8. 用Python操作excel文档

    使用Python第三方库 这一节我们学习如何使用Python去操作Excel文档.如果大家有人不知道Excel的话,那么建议先学一学office办公基础.这里想要操作Excel,必须安装一个Pytho ...

  9. 使用Python操作Excel文档(一)

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

随机推荐

  1. easyui分页控件的应用

    1.首先应用easyui的js和css文件 <link rel="stylesheet" type="text/css" href="../.. ...

  2. [GX/GZOI2019]旅行者(dijkstra)

    二进制分组SB做法没意思还难写还可能会被卡常其实是我不会写.用一种比较优秀的O(Tnlogn)做法,只需要做2次dijkstra.对原图做一次.对反图做一次,然后记录每个点的最短路是从k个源点中的哪个 ...

  3. bat文件设置ip自动和静态ip切换

    下载地址:https://i.cnblogs.com/Files.aspx win10系统: @echo off cd /d %~dp0 %1 start "" mshta vbs ...

  4. Matlab高级教程_第二篇:MATLAB和C#对应数据类型的讲解(多讲一点儿C#的矩阵运算)

    1. MATLAB对应C#的数据类型主要在引入的父类库MWArray当中.有如下对应规则 .NET TYPE MWArrayTYPE MATLAB Type System.Double MWNumer ...

  5. Z变换解差分方程的思考

    问题描述 今日碰到一道差分方程的题目,如下 [ y(n + 2) - cfrac{7}{10}y(n + 1) + cfrac{1}{10}y(n) = 7x(n+2) -2 x(n + 1) ] 已 ...

  6. LGOJ3975 TJOI2015 弦论

    link:TJOI2015 弦论 题目大意: 给定一个字符串,输出在对该字符串所有的非空子串排序后第\(k\)个 另外的一个限制是\(T\):子串本质相同但位置不同算\(1\)或多个 \(|s| \l ...

  7. java.lang.NoSuchMethodError: org.springframework.util.Assert.notNull(Ljava/lang/Object;Ljava/util/function/Supplier;)V

    分析,jar包冲突,然后看pom.xml文件 原因在于jar包冲突,版本不兼容, 错误的代码:  可以看到有很多不同版本的重复的spring-test依赖 <dependency> < ...

  8. html,将元素水平,垂直居中的四种方式

    将元素垂直,水平居中分两种情况:一个是元素尺寸固定,二是元素尺寸不固定 一.尺寸固定 方法1:定位 ,50%,margin负距 .box{ width: 400px; height: 300px; b ...

  9. 推送至远程仓库使用git push -u的原因

    第一次把本地仓库推送至远端时,为了以后方便一定要使用 git push -u origin master [此处是把本地的master分支推送至远程的master分支]

  10. GUI-猜字游戏

    # 设计思想先定义输入,输入,然后设计逻辑 # GUI from tkinter # 逻辑层 # 设计GUI(用户界面) from tkinter import * import tkinter.si ...